UNPKG

s3mini

Version:

👶 Tiny & fast S3 client for node and edge computing platforms

39 lines (36 loc) • 2.31 kB
// Constants export const AWS_ALGORITHM = 'AWS4-HMAC-SHA256'; export const AWS_REQUEST_TYPE = 'aws4_request'; export const S3_SERVICE = 's3'; export const LIST_TYPE = '2'; export const UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD'; export const DEFAULT_STREAM_CONTENT_TYPE = 'application/octet-stream'; export const XML_CONTENT_TYPE = 'application/xml'; export const JSON_CONTENT_TYPE = 'application/json'; // List of keys that might contain sensitive information export const SENSITIVE_KEYS_REDACTED = ['accessKeyId', 'secretAccessKey', 'sessionToken', 'password', 'token']; export const DEFAULT_REQUEST_SIZE_IN_BYTES = 8 * 1024 * 1024; // Headers export const HEADER_AMZ_CONTENT_SHA256 = 'x-amz-content-sha256'; export const HEADER_AMZ_CHECKSUM_SHA256 = 'x-amz-checksum-sha256'; export const HEADER_AMZ_DATE = 'x-amz-date'; export const HEADER_HOST = 'host'; export const HEADER_AUTHORIZATION = 'authorization'; export const HEADER_CONTENT_TYPE = 'content-type'; export const HEADER_CONTENT_LENGTH = 'content-length'; export const HEADER_ETAG = 'etag'; export const HEADER_LAST_MODIFIED = 'last-modified'; // Error messages export const ERROR_PREFIX = '[s3mini] '; export const ERROR_ACCESS_KEY_REQUIRED = `${ERROR_PREFIX}accessKeyId must be a non-empty string`; export const ERROR_SECRET_KEY_REQUIRED = `${ERROR_PREFIX}secretAccessKey must be a non-empty string`; export const ERROR_ENDPOINT_REQUIRED = `${ERROR_PREFIX}endpoint must be a non-empty string`; export const ERROR_ENDPOINT_FORMAT = `${ERROR_PREFIX}endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]`; export const ERROR_KEY_REQUIRED = `${ERROR_PREFIX}key must be a non-empty string`; export const ERROR_UPLOAD_ID_REQUIRED = `${ERROR_PREFIX}uploadId must be a non-empty string`; export const ERROR_PARTS_REQUIRED = `${ERROR_PREFIX}parts must be a non-empty array`; export const ERROR_INVALID_PART = `${ERROR_PREFIX}Each part must have a partNumber (number) and ETag (string)`; export const ERROR_DATA_BUFFER_REQUIRED = `${ERROR_PREFIX}data must be a Buffer or string`; export const ERROR_PREFIX_TYPE = `${ERROR_PREFIX}prefix must be a string`; export const ERROR_MAX_KEYS_TYPE = `${ERROR_PREFIX}maxKeys must be a positive integer`; export const ERROR_DELIMITER_REQUIRED = `${ERROR_PREFIX}delimiter must be a string`;