s3mini 0.6.0 β 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -7
- package/dist/s3mini.d.ts +5 -2
- package/dist/s3mini.js +32 -30
- package/dist/s3mini.js.map +1 -1
- package/dist/s3mini.min.js +1 -1
- package/dist/s3mini.min.js.map +1 -1
- package/package.json +31 -28
- package/src/S3.ts +21 -17
- package/src/consts.ts +2 -1
- package/src/index.ts +2 -5
- package/src/types.ts +1 -0
- package/src/utils.ts +9 -11
package/README.md
CHANGED
|
@@ -8,20 +8,24 @@
|
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
11
|
-
- π Light and fast: averages β15 % more ops/s and only ~
|
|
12
|
-
- π§ Zero dependencies; supports AWS SigV4 (no pre-signed requests)
|
|
11
|
+
- π Light and fast: averages β15 % more ops/s and only ~18 KB (minified, not gzipped).
|
|
12
|
+
- π§ Zero dependencies; supports AWS SigV4 (no pre-signed requests) and SSE-C headers (tested only on Cloudflare)
|
|
13
13
|
- π Works on Cloudflare Workers; ideal for edge computing, Node, and Bun (no browser support).
|
|
14
14
|
- π Only the essential S3 APIsβimproved list, put, get, delete, and a few more.
|
|
15
|
-
-
|
|
15
|
+
- π οΈ Supports multipart uploads.
|
|
16
|
+
- π― TypeScript support with type definitions.
|
|
17
|
+
- π Poorly-documented with examples and tests - But widely tested on various S3-compatible services! (Contributions welcome!)
|
|
18
|
+
- π¦ **BYOS3** β _Bring your own S3-compatible bucket_ (tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, MinIO, Garage, Micro/Ceph and Oracle Object Storage, Scaleway).
|
|
16
19
|
|
|
17
20
|
#### Tested On
|
|
18
21
|
|
|
19
22
|

|
|
23
|
+
Contributions welcome!
|
|
20
24
|
|
|
21
25
|
Dev:
|
|
22
26
|
|
|
23
|
-

|
|
27
|
+
[](https://github.com/good-lly/s3mini/commits/dev)
|
|
28
|
+
[](https://github.com/good-lly/s3mini/issues)
|
|
25
29
|
[](https://github.com/good-lly/s3mini/actions/workflows/codeql.yml)
|
|
26
30
|
[](https://sonarcloud.io/summary/new_code?id=good-lly_s3mini)
|
|
27
31
|
[](https://sonarcloud.io/summary/new_code?id=good-lly_s3mini)
|
|
@@ -32,7 +36,7 @@ Dev:
|
|
|
32
36
|
[](https://github.com/good-lly/s3mini/actions/workflows/test-e2e.yml)
|
|
33
37
|
|
|
34
38
|

|
|
35
|
-

|
|
39
|
+
[](https://www.npmjs.com/package/s3mini)
|
|
36
40
|

|
|
37
41
|

|
|
38
42
|

|
|
@@ -117,8 +121,12 @@ import { S3mini, sanitizeETag } from 's3mini';
|
|
|
117
121
|
const s3client = new S3mini({
|
|
118
122
|
accessKeyId: config.accessKeyId,
|
|
119
123
|
secretAccessKey: config.secretAccessKey,
|
|
120
|
-
endpoint: config.endpoint,
|
|
124
|
+
endpoint: config.endpoint, // e.g., 'https://<your-bucket>.<your-region>.digitaloceanspaces.com'
|
|
121
125
|
region: config.region,
|
|
126
|
+
// ?requestSizeInBytes = default is 8 MB
|
|
127
|
+
// ?requestAbortTimeout = default is no timeout
|
|
128
|
+
// ?logger = default is undefined (no logging)
|
|
129
|
+
// ?fetch = default is globalThis.fetch (you can provide your own fetch implementation)
|
|
122
130
|
});
|
|
123
131
|
|
|
124
132
|
// Basic bucket ops
|
package/dist/s3mini.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ interface S3Config {
|
|
|
6
6
|
requestSizeInBytes?: number;
|
|
7
7
|
requestAbortTimeout?: number;
|
|
8
8
|
logger?: Logger;
|
|
9
|
+
fetch?: typeof fetch;
|
|
9
10
|
}
|
|
10
11
|
interface SSECHeaders {
|
|
11
12
|
'x-amz-server-side-encryption-customer-algorithm': string;
|
|
@@ -169,6 +170,7 @@ declare class S3mini {
|
|
|
169
170
|
* @param {number} [config.requestSizeInBytes=8388608] - The request size of a single request in bytes (AWS S3 is 8MB).
|
|
170
171
|
* @param {number} [config.requestAbortTimeout=undefined] - The timeout in milliseconds after which a request should be aborted (careful on streamed requests).
|
|
171
172
|
* @param {Object} [config.logger=null] - A logger object with methods like info, warn, error.
|
|
173
|
+
* @param {typeof fetch} [config.fetch=globalThis.fetch] - Custom fetch implementation to use for HTTP requests.
|
|
172
174
|
* @throws {TypeError} Will throw an error if required parameters are missing or of incorrect type.
|
|
173
175
|
*/
|
|
174
176
|
readonly accessKeyId: string;
|
|
@@ -179,9 +181,10 @@ declare class S3mini {
|
|
|
179
181
|
readonly requestSizeInBytes: number;
|
|
180
182
|
readonly requestAbortTimeout?: number;
|
|
181
183
|
readonly logger?: Logger;
|
|
184
|
+
readonly fetch: typeof fetch;
|
|
182
185
|
private signingKeyDate?;
|
|
183
186
|
private signingKey?;
|
|
184
|
-
constructor({ accessKeyId, secretAccessKey, endpoint, region, requestSizeInBytes, requestAbortTimeout, logger, }: S3Config);
|
|
187
|
+
constructor({ accessKeyId, secretAccessKey, endpoint, region, requestSizeInBytes, requestAbortTimeout, logger, fetch, }: S3Config);
|
|
185
188
|
private _sanitize;
|
|
186
189
|
private _log;
|
|
187
190
|
private _validateConstructorParams;
|
|
@@ -569,5 +572,5 @@ declare const sanitizeETag: (etag: string) => string;
|
|
|
569
572
|
*/
|
|
570
573
|
declare const runInBatches: <T = unknown>(tasks: Iterable<() => Promise<T>>, batchSize?: number, minIntervalMs?: number) => Promise<Array<PromiseSettledResult<T>>>;
|
|
571
574
|
|
|
572
|
-
export { S3mini,
|
|
575
|
+
export { S3mini, runInBatches, sanitizeETag };
|
|
573
576
|
export type { CompleteMultipartUploadResult, ErrorWithCode, ExistResponseCode, ListBucketResponse, ListMultipartUploadResponse, Logger, S3Config, UploadPart };
|
package/dist/s3mini.js
CHANGED
|
@@ -7,7 +7,8 @@ const UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD';
|
|
|
7
7
|
const DEFAULT_STREAM_CONTENT_TYPE = 'application/octet-stream';
|
|
8
8
|
const XML_CONTENT_TYPE = 'application/xml';
|
|
9
9
|
// List of keys that might contain sensitive information
|
|
10
|
-
const SENSITIVE_KEYS_REDACTED = ['accessKeyId', 'secretAccessKey', 'sessionToken', 'password', 'token'];
|
|
10
|
+
const SENSITIVE_KEYS_REDACTED = new Set(['accessKeyId', 'secretAccessKey', 'sessionToken', 'password', 'token']);
|
|
11
|
+
const IFHEADERS = new Set(['if-match', 'if-none-match', 'if-modified-since', 'if-unmodified-since']);
|
|
11
12
|
const DEFAULT_REQUEST_SIZE_IN_BYTES = 8 * 1024 * 1024;
|
|
12
13
|
// Headers
|
|
13
14
|
const HEADER_AMZ_CONTENT_SHA256 = 'x-amz-content-sha256';
|
|
@@ -68,7 +69,7 @@ const base64FromBuffer = (buffer) => {
|
|
|
68
69
|
let result = '';
|
|
69
70
|
for (let i = 0; i < bytes.length; i += chunkSize) {
|
|
70
71
|
const chunk = bytes.subarray(i, i + chunkSize);
|
|
71
|
-
result += btoa(String.
|
|
72
|
+
result += btoa(String.fromCodePoint(...chunk));
|
|
72
73
|
}
|
|
73
74
|
return result;
|
|
74
75
|
};
|
|
@@ -102,10 +103,8 @@ const sanitizeETag = (etag) => {
|
|
|
102
103
|
'"': '',
|
|
103
104
|
'"': '',
|
|
104
105
|
'"': '',
|
|
105
|
-
'"': '',
|
|
106
|
-
'"': '',
|
|
107
106
|
};
|
|
108
|
-
return etag.
|
|
107
|
+
return etag.replaceAll(/(^("|"|"))|(("|"|")$)/g, m => replaceChars[m] || '');
|
|
109
108
|
};
|
|
110
109
|
const entityMap = {
|
|
111
110
|
'"': '"',
|
|
@@ -121,13 +120,13 @@ const entityMap = {
|
|
|
121
120
|
*/
|
|
122
121
|
const escapeXml = (value) => {
|
|
123
122
|
return value
|
|
124
|
-
.
|
|
125
|
-
.
|
|
126
|
-
.
|
|
127
|
-
.
|
|
128
|
-
.
|
|
123
|
+
.replaceAll('&', '&')
|
|
124
|
+
.replaceAll('<', '<')
|
|
125
|
+
.replaceAll('>', '>')
|
|
126
|
+
.replaceAll('"', '"')
|
|
127
|
+
.replaceAll("'", ''');
|
|
129
128
|
};
|
|
130
|
-
const unescapeXml = (value) => value.
|
|
129
|
+
const unescapeXml = (value) => value.replaceAll(/&(quot|apos|lt|gt|amp);/g, m => entityMap[m] ?? m);
|
|
131
130
|
/**
|
|
132
131
|
* Parse a very small subset of XML into a JS structure.
|
|
133
132
|
*
|
|
@@ -183,7 +182,7 @@ const uriEscape = (uriStr) => {
|
|
|
183
182
|
* @returns Escaped URI path
|
|
184
183
|
*/
|
|
185
184
|
const uriResourceEscape = (string) => {
|
|
186
|
-
return uriEscape(string).
|
|
185
|
+
return uriEscape(string).replaceAll('%2F', '/');
|
|
187
186
|
};
|
|
188
187
|
const extractErrCode = (e) => {
|
|
189
188
|
if (typeof e !== 'object' || e === null) {
|
|
@@ -290,6 +289,7 @@ class S3mini {
|
|
|
290
289
|
* @param {number} [config.requestSizeInBytes=8388608] - The request size of a single request in bytes (AWS S3 is 8MB).
|
|
291
290
|
* @param {number} [config.requestAbortTimeout=undefined] - The timeout in milliseconds after which a request should be aborted (careful on streamed requests).
|
|
292
291
|
* @param {Object} [config.logger=null] - A logger object with methods like info, warn, error.
|
|
292
|
+
* @param {typeof fetch} [config.fetch=globalThis.fetch] - Custom fetch implementation to use for HTTP requests.
|
|
293
293
|
* @throws {TypeError} Will throw an error if required parameters are missing or of incorrect type.
|
|
294
294
|
*/
|
|
295
295
|
accessKeyId;
|
|
@@ -300,9 +300,10 @@ class S3mini {
|
|
|
300
300
|
requestSizeInBytes;
|
|
301
301
|
requestAbortTimeout;
|
|
302
302
|
logger;
|
|
303
|
+
fetch;
|
|
303
304
|
signingKeyDate;
|
|
304
305
|
signingKey;
|
|
305
|
-
constructor({ accessKeyId, secretAccessKey, endpoint, region = 'auto', requestSizeInBytes = DEFAULT_REQUEST_SIZE_IN_BYTES, requestAbortTimeout = undefined, logger = undefined, }) {
|
|
306
|
+
constructor({ accessKeyId, secretAccessKey, endpoint, region = 'auto', requestSizeInBytes = DEFAULT_REQUEST_SIZE_IN_BYTES, requestAbortTimeout = undefined, logger = undefined, fetch = globalThis.fetch, }) {
|
|
306
307
|
this._validateConstructorParams(accessKeyId, secretAccessKey, endpoint);
|
|
307
308
|
this.accessKeyId = accessKeyId;
|
|
308
309
|
this.secretAccessKey = secretAccessKey;
|
|
@@ -312,13 +313,14 @@ class S3mini {
|
|
|
312
313
|
this.requestSizeInBytes = requestSizeInBytes;
|
|
313
314
|
this.requestAbortTimeout = requestAbortTimeout;
|
|
314
315
|
this.logger = logger;
|
|
316
|
+
this.fetch = fetch;
|
|
315
317
|
}
|
|
316
318
|
_sanitize(obj) {
|
|
317
319
|
if (typeof obj !== 'object' || obj === null) {
|
|
318
320
|
return obj;
|
|
319
321
|
}
|
|
320
322
|
return Object.keys(obj).reduce((acc, key) => {
|
|
321
|
-
if (SENSITIVE_KEYS_REDACTED.
|
|
323
|
+
if (SENSITIVE_KEYS_REDACTED.has(key.toLowerCase())) {
|
|
322
324
|
acc[key] = '[REDACTED]';
|
|
323
325
|
}
|
|
324
326
|
else if (typeof obj[key] === 'object' &&
|
|
@@ -421,10 +423,8 @@ class S3mini {
|
|
|
421
423
|
_filterIfHeaders(opts) {
|
|
422
424
|
const filteredOpts = {};
|
|
423
425
|
const conditionalHeaders = {};
|
|
424
|
-
const ifHeaders = ['if-match', 'if-none-match', 'if-modified-since', 'if-unmodified-since'];
|
|
425
426
|
for (const [key, value] of Object.entries(opts)) {
|
|
426
|
-
if (
|
|
427
|
-
// Convert to lowercase for consistency
|
|
427
|
+
if (IFHEADERS.has(key.toLowerCase())) {
|
|
428
428
|
conditionalHeaders[key] = value;
|
|
429
429
|
}
|
|
430
430
|
else {
|
|
@@ -563,7 +563,7 @@ class S3mini {
|
|
|
563
563
|
_extractBucketName() {
|
|
564
564
|
const url = this.endpoint;
|
|
565
565
|
// First check if bucket is in the pathname (path-style URLs)
|
|
566
|
-
const pathSegments = url.pathname.split('/').filter(
|
|
566
|
+
const pathSegments = url.pathname.split('/').filter(Boolean);
|
|
567
567
|
if (pathSegments.length > 0) {
|
|
568
568
|
if (typeof pathSegments[0] === 'string') {
|
|
569
569
|
return pathSegments[0];
|
|
@@ -1219,11 +1219,11 @@ class S3mini {
|
|
|
1219
1219
|
}
|
|
1220
1220
|
_buildSSECHeaders(sourceHeaders, destHeaders) {
|
|
1221
1221
|
const headers = {};
|
|
1222
|
-
Object.entries({ ...sourceHeaders, ...destHeaders })
|
|
1222
|
+
for (const [k, v] of Object.entries({ ...sourceHeaders, ...destHeaders })) {
|
|
1223
1223
|
if (v !== undefined) {
|
|
1224
1224
|
headers[k] = v;
|
|
1225
1225
|
}
|
|
1226
|
-
}
|
|
1226
|
+
}
|
|
1227
1227
|
return headers;
|
|
1228
1228
|
}
|
|
1229
1229
|
/**
|
|
@@ -1287,9 +1287,9 @@ class S3mini {
|
|
|
1287
1287
|
}
|
|
1288
1288
|
_buildMetadataHeaders(metadata) {
|
|
1289
1289
|
const headers = {};
|
|
1290
|
-
|
|
1290
|
+
for (const [k, v] of Object.entries(metadata)) {
|
|
1291
1291
|
headers[k.startsWith('x-amz-meta-') ? k : `x-amz-meta-${k}`] = v;
|
|
1292
|
-
}
|
|
1292
|
+
}
|
|
1293
1293
|
return headers;
|
|
1294
1294
|
}
|
|
1295
1295
|
_parseCopyObjectResponse(xmlText) {
|
|
@@ -1340,11 +1340,13 @@ class S3mini {
|
|
|
1340
1340
|
}
|
|
1341
1341
|
const out = (parsed.DeleteResult || parsed.deleteResult || parsed);
|
|
1342
1342
|
const resultMap = new Map();
|
|
1343
|
-
|
|
1343
|
+
for (const key of keys) {
|
|
1344
|
+
resultMap.set(key, false);
|
|
1345
|
+
}
|
|
1344
1346
|
const deleted = out.deleted || out.Deleted;
|
|
1345
1347
|
if (deleted) {
|
|
1346
1348
|
const deletedArray = Array.isArray(deleted) ? deleted : [deleted];
|
|
1347
|
-
|
|
1349
|
+
for (const item of deletedArray) {
|
|
1348
1350
|
if (item && typeof item === 'object') {
|
|
1349
1351
|
const obj = item;
|
|
1350
1352
|
// Check both key and Key
|
|
@@ -1353,13 +1355,13 @@ class S3mini {
|
|
|
1353
1355
|
resultMap.set(key, true);
|
|
1354
1356
|
}
|
|
1355
1357
|
}
|
|
1356
|
-
}
|
|
1358
|
+
}
|
|
1357
1359
|
}
|
|
1358
1360
|
// Handle errors (check both cases)
|
|
1359
1361
|
const errors = out.error || out.Error;
|
|
1360
1362
|
if (errors) {
|
|
1361
1363
|
const errorsArray = Array.isArray(errors) ? errors : [errors];
|
|
1362
|
-
|
|
1364
|
+
for (const item of errorsArray) {
|
|
1363
1365
|
if (item && typeof item === 'object') {
|
|
1364
1366
|
const obj = item;
|
|
1365
1367
|
// Check both cases for all properties
|
|
@@ -1375,7 +1377,7 @@ class S3mini {
|
|
|
1375
1377
|
});
|
|
1376
1378
|
}
|
|
1377
1379
|
}
|
|
1378
|
-
}
|
|
1380
|
+
}
|
|
1379
1381
|
}
|
|
1380
1382
|
// Return boolean array in the same order as input keys
|
|
1381
1383
|
return keys.map(key => resultMap.get(key) || false);
|
|
@@ -1407,11 +1409,11 @@ class S3mini {
|
|
|
1407
1409
|
async _sendRequest(url, method, headers, body, toleratedStatusCodes = []) {
|
|
1408
1410
|
this._log('info', `Sending ${method} request to ${url}`, `headers: ${JSON.stringify(headers)}`);
|
|
1409
1411
|
try {
|
|
1410
|
-
const res = await fetch(url, {
|
|
1412
|
+
const res = await this.fetch(url, {
|
|
1411
1413
|
method,
|
|
1412
1414
|
headers,
|
|
1413
1415
|
body: ['GET', 'HEAD'].includes(method) ? undefined : body,
|
|
1414
|
-
signal: this.requestAbortTimeout
|
|
1416
|
+
signal: this.requestAbortTimeout ? AbortSignal.timeout(this.requestAbortTimeout) : undefined,
|
|
1415
1417
|
});
|
|
1416
1418
|
this._log('info', `Response status: ${res.status}, tolerated: ${toleratedStatusCodes.join(',')}`);
|
|
1417
1419
|
if (res.ok || toleratedStatusCodes.includes(res.status)) {
|
|
@@ -1471,5 +1473,5 @@ class S3mini {
|
|
|
1471
1473
|
}
|
|
1472
1474
|
}
|
|
1473
1475
|
|
|
1474
|
-
export { S3mini,
|
|
1476
|
+
export { S3mini, runInBatches, sanitizeETag };
|
|
1475
1477
|
//# sourceMappingURL=s3mini.js.map
|
package/dist/s3mini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3mini.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["C.DEFAULT_REQUEST_SIZE_IN_BYTES","C.SENSITIVE_KEYS_REDACTED","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","C.ERROR_ENDPOINT_FORMAT","C.ERROR_PREFIX","C.ERROR_KEY_REQUIRED","C.ERROR_DELIMITER_REQUIRED","C.ERROR_PREFIX_TYPE","C.ERROR_DATA_BUFFER_REQUIRED","C.ERROR_UPLOAD_ID_REQUIRED","C.S3_SERVICE","C.AWS_REQUEST_TYPE","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","C.HEADER_AMZ_DATE","C.HEADER_HOST","C.AWS_ALGORITHM","U.hexFromBuffer","U.sha256","U.hmac","C.HEADER_AUTHORIZATION","U.uriResourceEscape","U.sanitizeETag","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","U.getByteSize","U.uriEscape","C.LIST_TYPE","U.parseXml","C.HEADER_ETAG","C.DEFAULT_STREAM_CONTENT_TYPE","U.escapeXml","U.base64FromBuffer","C.HEADER_AMZ_CHECKSUM_SHA256","U.extractErrCode","U.S3NetworkError","U.S3ServiceError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"s3mini.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["C.DEFAULT_REQUEST_SIZE_IN_BYTES","C.SENSITIVE_KEYS_REDACTED","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","C.ERROR_ENDPOINT_FORMAT","C.ERROR_PREFIX","C.ERROR_KEY_REQUIRED","C.ERROR_DELIMITER_REQUIRED","C.ERROR_PREFIX_TYPE","C.IFHEADERS","C.ERROR_DATA_BUFFER_REQUIRED","C.ERROR_UPLOAD_ID_REQUIRED","C.S3_SERVICE","C.AWS_REQUEST_TYPE","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","C.HEADER_AMZ_DATE","C.HEADER_HOST","C.AWS_ALGORITHM","U.hexFromBuffer","U.sha256","U.hmac","C.HEADER_AUTHORIZATION","U.uriResourceEscape","U.sanitizeETag","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","U.getByteSize","U.uriEscape","C.LIST_TYPE","U.parseXml","C.HEADER_ETAG","C.DEFAULT_STREAM_CONTENT_TYPE","U.escapeXml","U.base64FromBuffer","C.HEADER_AMZ_CHECKSUM_SHA256","U.extractErrCode","U.S3NetworkError","U.S3ServiceError"],"mappings":"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"}
|
package/dist/s3mini.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const t="AWS4-HMAC-SHA256",e="aws4_request",r="UNSIGNED-PAYLOAD",s="application/octet-stream",o="application/xml",n=["accessKeyId","secretAccessKey","sessionToken","password","token"],i="x-amz-content-sha256",a="x-amz-checksum-sha256",c="content-type",u="content-length",h="etag",d="[s3mini] ",l=d+"accessKeyId must be a non-empty string",p=d+"secretAccessKey must be a non-empty string",y=d+"endpoint must be a non-empty string",f=d+"endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]",w=d+"key must be a non-empty string",g=d+"uploadId must be a non-empty string",b=d+"data must be a Buffer or string",m=d+"prefix must be a string",E=d+"delimiter must be a string",$=new TextEncoder,j="0123456789abcdef",T=t=>{if("string"==typeof t)return $.encode(t).byteLength;if(t instanceof ArrayBuffer||t instanceof Uint8Array)return t.byteLength;if(t instanceof Blob)return t.size;throw Error("Unsupported data type")},O=t=>{const e=new Uint8Array(t);let r="";for(const t of e)r+=j[t>>4]+j[15&t];return r},A=async t=>{const e=$.encode(t);return await globalThis.crypto.subtle.digest("SHA-256",e)},U=async(t,e)=>{const r=await globalThis.crypto.subtle.importKey("raw","string"==typeof t?$.encode(t):t,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),s=$.encode(e);return await globalThis.crypto.subtle.sign("HMAC",r,s)},x=t=>{const e={'"':"",""":"",""":"",""":"",""":""};return t.replace(/(^("|"|"))|(("|"|")$)/g,t=>e[t])},S={""":'"',"'":"'","<":"<",">":">","&":"&"},v=t=>t.replace(/&(quot|apos|lt|gt|amp);/g,t=>S[t]??t),_=t=>{const e=t.replace(/<\?xml[^?]*\?>\s*/,""),r=/<([A-Za-z_][\w\-.]*)[^>]*>([\s\S]*?)<\/\1>/gm,s={};let o;for(;null!==(o=r.exec(e));){const t=o[1],e=o[2],r=e?_(e):v(e?.trim()||"");if(!t)continue;const n=s[t];void 0===n?s[t]=r:Array.isArray(n)?n.push(r):s[t]=[n,r]}return Object.keys(s).length>0?s:v(e.trim())},q=t=>"%"+t.charCodeAt(0).toString(16).toUpperCase(),C=t=>encodeURIComponent(t).replace(/[!'()*]/g,q);class D extends Error{code;constructor(t,e,r){super(t),this.name=new.target.name,this.code=e,this.cause=r}}class H extends D{}class R extends D{status;serviceCode;body;constructor(t,e,r,s){super(t,r),this.status=e,this.serviceCode=r,this.body=s}}const k=async(t,e=30,r=0)=>{const s=[];let o=[];for(const r of t)o.push(r),o.length===e&&(await n(o),o=[]);return o.length&&await n(o),s;async function n(t){const e=Date.now(),o=await Promise.allSettled(t.map(t=>t()));if(s.push(...o),r>0){const t=r-(Date.now()-e);t>0&&await new Promise(e=>setTimeout(e,t))}}};class P{accessKeyId;secretAccessKey;endpoint;region;bucketName;requestSizeInBytes;requestAbortTimeout;logger;signingKeyDate;signingKey;constructor({accessKeyId:t,secretAccessKey:e,endpoint:r,region:s="auto",requestSizeInBytes:o=8388608,requestAbortTimeout:n,logger:i}){this.t(t,e,r),this.accessKeyId=t,this.secretAccessKey=e,this.endpoint=new URL(this.o(r)),this.region=s,this.bucketName=this.i(),this.requestSizeInBytes=o,this.requestAbortTimeout=n,this.logger=i}u(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce((e,r)=>(e[r]=n.includes(r.toLowerCase())?"[REDACTED]":"object"==typeof t[r]&&null!==t[r]?this.u(t[r]):t[r],e),Array.isArray(t)?[]:{})}h(t,e,r={}){if(this.logger&&"function"==typeof this.logger[t]){const s=this.u(r),o={timestamp:(new Date).toISOString(),level:t,message:e,details:s,context:this.u({region:this.region,endpoint:""+this.endpoint,accessKeyId:this.accessKeyId?this.accessKeyId.substring(0,4)+"...":void 0})};this.logger[t](JSON.stringify(o))}}t(t,e,r){if("string"!=typeof t||0===t.trim().length)throw new TypeError(l);if("string"!=typeof e||0===e.trim().length)throw new TypeError(p);if("string"!=typeof r||0===r.trim().length)throw new TypeError(y)}o(t){const e=/^(https?:)?\/\//i.test(t)?t:"https://"+t;try{new URL(e);let t=e.length;for(;t>0&&"/"===e[t-1];)t--;return t===e.length?e:e.substring(0,t)}catch{const e=`${f} But provided: "${t}"`;throw this.h("error",e),new TypeError(e)}}l(t){if("GET"!==t&&"HEAD"!==t)throw this.h("error",d+"method must be either GET or HEAD"),Error(d+"method must be either GET or HEAD")}p(t){if("string"!=typeof t||0===t.trim().length)throw this.h("error",w),new TypeError(w)}m(t){if("string"!=typeof t||0===t.trim().length)throw this.h("error",E),new TypeError(E)}$(t){if("string"!=typeof t)throw this.h("error",m),new TypeError(m)}j(t){if("object"!=typeof t)throw this.h("error",d+"opts must be an object"),new TypeError(d+"opts must be an object")}T(t){const e={},r={},s=["if-match","if-none-match","if-modified-since","if-unmodified-since"];for(const[o,n]of Object.entries(t))s.includes(o.toLowerCase())?r[o]=n:e[o]=n;return{filteredOpts:e,conditionalHeaders:r}}O(t){if(!(globalThis.Buffer&&t instanceof globalThis.Buffer||"string"==typeof t))throw this.h("error",b),new TypeError(b);return t}A(t,e,r,s,o){if(this.p(t),"string"!=typeof e||0===e.trim().length)throw this.h("error",g),new TypeError(g);if(!Number.isInteger(s)||s<=0)throw this.h("error",d+"partNumber must be a positive integer"),new TypeError(d+"partNumber must be a positive integer");return this.j(o),this.O(r)}async U(s,o,n={},a={}){const c=new URL(this.endpoint);o&&o.length>0&&(c.pathname="/"===c.pathname?"/"+o.replace(/^\/+/,""):`${c.pathname}/${o.replace(/^\/+/,"")}`);const u=new Date,h=`${u.getUTCFullYear()}${(u.getUTCMonth()+1+"").padStart(2,"0")}${(u.getUTCDate()+"").padStart(2,"0")}`,d=`${h}T${(u.getUTCHours()+"").padStart(2,"0")}${(u.getUTCMinutes()+"").padStart(2,"0")}${(u.getUTCSeconds()+"").padStart(2,"0")}Z`,l=`${h}/${this.region}/s3/${e}`;a[i]=r,a["x-amz-date"]=d,a.host=c.host;const p=new Set(["authorization","content-length","content-type","user-agent"]);let y="",f="";for(const[t,e]of Object.entries(a).sort(([t],[e])=>t.localeCompare(e))){const r=t.toLowerCase();p.has(r)||(y&&(y+="\n",f+=";"),y+=`${r}:${(e+"").trim()}`,f+=r)}const w=`${s}\n${c.pathname}\n${this.S(n)}\n${y}\n\n${f}\n${r}`,g=`${t}\n${d}\n${l}\n${O(await A(w))}`;h===this.signingKeyDate&&this.signingKey||(this.signingKeyDate=h,this.signingKey=await this.v(h));const b=O(await U(this.signingKey,g));return a.authorization=`${t} Credential=${this.accessKeyId}/${l}, SignedHeaders=${f}, Signature=${b}`,{url:""+c,headers:a}}async _(t,e,{query:s={},body:o="",headers:n={},tolerated:a=[],withQuery:c=!1}={}){const{filteredOpts:u,conditionalHeaders:h}=["GET","HEAD"].includes(t)?this.T(s):{filteredOpts:s,conditionalHeaders:{}},d={[i]:r,...n,...h},l=e?C(e).replace(/%2F/g,"/"):"",{url:p,headers:y}=await this.U(t,l,u,d);Object.keys(s).length>0&&(c=!0);const f=Object.fromEntries(Object.entries(u).map(([t,e])=>[t,e+""])),w=c&&Object.keys(u).length?`${p}?${new URLSearchParams(f)}`:p,g=Object.fromEntries(Object.entries(y).map(([t,e])=>[t,e+""]));return this.q(w,t,g,o,a)}sanitizeETag(t){return x(t)}async createBucket(){const t=`\n <CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">\n <LocationConstraint>${this.region}</LocationConstraint>\n </CreateBucketConfiguration>\n `,e={[c]:o,[u]:T(t)};return 200===(await this._("PUT","",{body:t,headers:e,tolerated:[200,404,403,409]})).status}i(){const t=this.endpoint,e=t.pathname.split("/").filter(t=>t);if(e.length>0&&"string"==typeof e[0])return e[0];const r=t.hostname.split(".");if(r.length>=3){const t=r.slice(-2).join(".");if(["amazonaws.com","digitaloceanspaces.com","cloudflare.com"].some(e=>t.includes(e))&&"string"==typeof r[0])return r[0]}return r[0]||""}async bucketExists(){return 200===(await this._("HEAD","",{tolerated:[200,404,403]})).status}async listObjects(t="/",e="",r,s={}){this.m(t),this.$(e),this.j(s);const o="/"===t?t:C(t),n=!(r&&r>0);let i,a=n?1/0:r;const c=[];do{const t=await this.C(o,e,a,i,s);if(null===t)return null;c.push(...t.objects),n||(a-=t.objects.length),i=t.continuationToken}while(i&&a>0);return c}async C(t,e,r,s,o){const n=this.D(e,r,s,o),i=await this._("GET",t,{query:n,withQuery:!0,tolerated:[200,404]});if(404===i.status)return null;200!==i.status&&await this.H(i);const a=await i.text();return this.R(a)}D(t,e,r,s){return{"list-type":"2","max-keys":Math.min(e,1e3)+"",...t?{prefix:t}:{},...r?{"continuation-token":r}:{},...s}}async H(t){const e=await t.text(),r=this.k(t.headers,e),s=t.headers.get("x-amz-error-code")??r.svcCode??"Unknown",o=t.headers.get("x-amz-error-message")??r.errorMessage??t.statusText;throw this.h("error",`${d}Request failed with status ${t.status}: ${s} - ${o}, err body: ${e}`),Error(`${d}Request failed with status ${t.status}: ${s} - ${o}, err body: ${e}`)}R(t){const e=_(t);if("object"!=typeof e||!e||"error"in e)throw this.h("error",`${d}Unexpected listObjects response shape: ${JSON.stringify(e)}`),Error(d+"Unexpected listObjects response shape");const r=e.ListBucketResult||e.listBucketResult||e;return{objects:this.P(r),continuationToken:this.N(r)}}P(t){const e=t.Contents||t.contents;return e?Array.isArray(e)?e:[e]:[]}N(t){if("true"===t.IsTruncated||"true"===t.isTruncated)return t.NextContinuationToken||t.nextContinuationToken||t.NextMarker||t.nextMarker}async listMultipartUploads(t="/",e="",r="GET",s={}){this.m(t),this.$(e),this.l(r),this.j(s);const o={uploads:"",...s},n="/"===t?t:C(t),i=await this._(r,n,{query:o,withQuery:!0}),a=_(await i.text());if("object"!=typeof a||null===a)throw Error(d+"Unexpected listMultipartUploads response shape");return"listMultipartUploadsResult"in a?a.listMultipartUploadsResult:a}async getObject(t,e={},r){const s=await this._("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(s.status)?null:s.text()}async getObjectResponse(t,e={},r){const s=await this._("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(s.status)?null:s}async getObjectArrayBuffer(t,e={},r){const s=await this._("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(s.status)?null:s.arrayBuffer()}async getObjectJSON(t,e={},r){const s=await this._("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(s.status)?null:s.json()}async getObjectWithETag(t,e={},r){try{const s=await this._("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});if([404,412,304].includes(s.status))return{etag:null,data:null};const o=s.headers.get(h);if(!o)throw Error(d+"ETag not found in response headers");return{etag:x(o),data:await s.arrayBuffer()}}catch(e){throw this.h("error",`Error getting object ${t} with ETag: ${e+""}`),e}}async getObjectRaw(t,e=!0,r=0,s=this.requestSizeInBytes,o={},n){return this._("GET",t,{query:{...o},headers:{...e?{}:{range:`bytes=${r}-${s-1}`},...n},withQuery:!0})}async getContentLength(t,e){try{const r=(await this._("HEAD",t,{headers:e?{...e}:void 0})).headers.get(u);return r?+r:0}catch(e){throw this.h("error",`Error getting content length for object ${t}: ${e+""}`),Error(`${d}Error getting content length for object ${t}: ${e+""}`)}}async objectExists(t,e={}){const r=await this._("HEAD",t,{query:e,tolerated:[200,404,412,304]});return 404!==r.status&&(412!==r.status&&304!==r.status||null)}async getEtag(t,e={},r){const s=await this._("HEAD",t,{query:e,tolerated:[200,304,404,412],headers:r?{...r}:void 0});if(404===s.status)return null;if(412===s.status||304===s.status)return null;const o=s.headers.get(h);if(!o)throw Error(d+"ETag not found in response headers");return x(o)}async putObject(t,e,r=s,o,n){return this._("PUT",t,{body:this.O(e),headers:{[u]:T(e),[c]:r,...n,...o},tolerated:[200]})}async getMultipartUploadId(t,e=s,r){if(this.p(t),"string"!=typeof e)throw new TypeError(d+"fileType must be a string");const o={[c]:e,...r},n=await this._("POST",t,{query:{uploads:""},headers:o,withQuery:!0}),i=_(await n.text());if(i&&"object"==typeof i){const t=i.initiateMultipartUploadResult||i.InitiateMultipartUploadResult;if(t&&"object"==typeof t){const e=t.uploadId||t.UploadId;if(e&&"string"==typeof e)return e}}throw Error(`${d}Failed to create multipart upload: ${JSON.stringify(i)}`)}async uploadPart(t,e,r,s,o={},n){const i=this.A(t,e,r,s,o),a={uploadId:e,partNumber:s,...o},c=await this._("PUT",t,{query:a,body:i,headers:{[u]:T(r),...n}});return{partNumber:s,etag:x(c.headers.get("etag")||"")}}async completeMultipartUpload(t,e,r){const s={uploadId:e},n=this.I(r),i={[c]:o,[u]:T(n)},a=await this._("POST",t,{query:s,body:n,headers:i,withQuery:!0}),h=_(await a.text());if(h&&"object"==typeof h){const t=h.completeMultipartUploadResult||h.CompleteMultipartUploadResult||h;if(t&&"object"==typeof t){const e=t,r=e.ETag||e.eTag||e.etag;return r&&"string"==typeof r?{...e,etag:x(r)}:t}}throw Error(`${d}Failed to complete multipart upload: ${JSON.stringify(h)}`)}async abortMultipartUpload(t,e,r){if(this.p(t),!e)throw new TypeError(g);const s={uploadId:e},n={[c]:o,...r?{...r}:{}},i=await this._("DELETE",t,{query:s,headers:n,withQuery:!0}),a=_(await i.text());if(a&&"error"in a&&"object"==typeof a.error&&null!==a.error&&"message"in a.error)throw this.h("error",`${d}Failed to abort multipart upload: ${a.error.message+""}`),Error(`${d}Failed to abort multipart upload: ${a.error.message+""}`);return{status:"Aborted",key:t,uploadId:e,response:a}}I(t){let e="<CompleteMultipartUpload>";for(const r of t)e+=`<Part><PartNumber>${r.partNumber}</PartNumber><ETag>${r.etag}</ETag></Part>`;return e+="</CompleteMultipartUpload>",e}async M(t,e,r){const{metadataDirective:s="COPY",metadata:o={},contentType:n,storageClass:i,taggingDirective:a,websiteRedirectLocation:u,sourceSSECHeaders:h={},destinationSSECHeaders:d={},additionalHeaders:l={}}=r,p={"x-amz-copy-source":e,"x-amz-metadata-directive":s,...l,...n&&{[c]:n},...i&&{"x-amz-storage-class":i},...a&&{"x-amz-tagging-directive":a},...u&&{"x-amz-website-redirect-location":u},...this.G(h,d),..."REPLACE"===s?this.L(o):{}};try{const e=await this._("PUT",t,{headers:p,tolerated:[200]});return this.K(await e.text())}catch(e){throw this.h("error","Error in copy operation to "+t,{error:e+""}),e}}copyObject(t,e,r={}){this.p(t),this.p(e);const s=`/${this.bucketName}/${C(t)}`;return this.M(e,s,r)}G(t,e){const r={};return Object.entries({...t,...e}).forEach(([t,e])=>{void 0!==e&&(r[t]=e)}),r}async moveObject(t,e,r={}){try{const s=await this.copyObject(t,e,r);if(!await this.deleteObject(t))throw Error(d+"Failed to delete source object after successful copy");return s}catch(r){throw this.h("error",`Error moving object from ${t} to ${e}`,{error:r+""}),r}}L(t){const e={};return Object.entries(t).forEach(([t,r])=>{e[t.startsWith("x-amz-meta-")?t:"x-amz-meta-"+t]=r}),e}K(t){const e=_(t);if(!e||"object"!=typeof e)throw Error(d+"Unexpected copyObject response format");const r=e.CopyObjectResult||e.copyObjectResult||e,s=r.ETag||r.eTag||r.etag,o=r.LastModified||r.lastModified;if(!s||"string"!=typeof s)throw Error(d+"ETag not found in copyObject response");return{etag:x(s),lastModified:o?new Date(o):void 0}}async deleteObject(t){const e=await this._("DELETE",t,{tolerated:[200,204]});return 200===e.status||204===e.status}async B(t){const e="<Delete>"+t.map(t=>{return`<Object><Key>${e=t,e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}</Key></Object>`;var e}).join("")+"</Delete>",r=(t=>{const e=new Uint8Array(t);let r="";for(let t=0;t<e.length;t+=32768){const s=e.subarray(t,t+32768);r+=btoa(String.fromCharCode.apply(null,s))}return r})(await A(e)),s={[c]:o,[u]:T(e),[a]:r},n=await this._("POST","",{query:{delete:""},body:e,headers:s,withQuery:!0}),i=_(await n.text());if(!i||"object"!=typeof i)throw Error(`${d}Failed to delete objects: ${JSON.stringify(i)}`);const h=i.DeleteResult||i.deleteResult||i,l=new Map;t.forEach(t=>l.set(t,!1));const p=h.deleted||h.Deleted;p&&(Array.isArray(p)?p:[p]).forEach(t=>{if(t&&"object"==typeof t){const e=t.key||t.Key;e&&"string"==typeof e&&l.set(e,!0)}});const y=h.error||h.Error;return y&&(Array.isArray(y)?y:[y]).forEach(t=>{if(t&&"object"==typeof t){const e=t.key||t.Key,r=t.code||t.Code,s=t.message||t.Message;e&&"string"==typeof e&&(l.set(e,!1),this.h("warn","Failed to delete object: "+e,{code:r||"Unknown",message:s||"Unknown error"}))}}),t.map(t=>l.get(t)||!1)}async deleteObjects(t){if(!Array.isArray(t)||0===t.length)return[];const e=1e3;if(t.length>e){const r=[];for(let s=0;s<t.length;s+=e){const o=t.slice(s,s+e);r.push(this.B(o))}return(await Promise.all(r)).flat()}return await this.B(t)}async q(t,e,r,s,o=[]){this.h("info",`Sending ${e} request to ${t}`,"headers: "+JSON.stringify(r));try{const n=await fetch(t,{method:e,headers:r,body:["GET","HEAD"].includes(e)?void 0:s,signal:void 0!==this.requestAbortTimeout?AbortSignal.timeout(this.requestAbortTimeout):void 0});return this.h("info",`Response status: ${n.status}, tolerated: ${o.join(",")}`),n.ok||o.includes(n.status)||await this.F(n),n}catch(t){const e=(t=>{if("object"!=typeof t||null===t)return;const e=t;return"string"==typeof e.code?e.code:"string"==typeof e.cause?.code?e.cause.code:void 0})(t);if(e&&["ENOTFOUND","EAI_AGAIN","ETIMEDOUT","ECONNREFUSED"].includes(e))throw new H("S3 network error: "+e,e,t);throw t}}k(t,e){if("application/xml"!==t.get("content-type"))return{};const r=_(e);if(!r||"object"!=typeof r||!("Error"in r)||!r.Error||"object"!=typeof r.Error)return{};const s=r.Error;return{svcCode:"Code"in s&&"string"==typeof s.Code?s.Code:void 0,errorMessage:"Message"in s&&"string"==typeof s.Message?s.Message:void 0}}async F(t){const e=await t.text(),r=this.k(t.headers,e),s=t.headers.get("x-amz-error-code")??r.svcCode??"Unknown",o=t.headers.get("x-amz-error-message")??r.errorMessage??t.statusText;throw this.h("error",`${d}Request failed with status ${t.status}: ${s} - ${o},err body: ${e}`),new R(`S3 returned ${t.status} β ${s}`,t.status,s,e)}S(t){return t&&0!==Object.keys(t).length?Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).sort((t,e)=>t.localeCompare(e)).join("&"):""}async v(t){const r=await U("AWS4"+this.secretAccessKey,t),s=await U(r,this.region),o=await U(s,"s3");return await U(o,e)}}export{P as S3mini,P as default,k as runInBatches,x as sanitizeETag};
|
|
1
|
+
const t="AWS4-HMAC-SHA256",e="aws4_request",r="UNSIGNED-PAYLOAD",o="application/octet-stream",s="application/xml",n=new Set(["accessKeyId","secretAccessKey","sessionToken","password","token"]),i=new Set(["if-match","if-none-match","if-modified-since","if-unmodified-since"]),a="x-amz-content-sha256",c="x-amz-checksum-sha256",h="content-type",u="content-length",d="etag",l="[s3mini] ",p=l+"accessKeyId must be a non-empty string",y=l+"secretAccessKey must be a non-empty string",f=l+"endpoint must be a non-empty string",w=l+"endpoint must be a valid URL. Expected format: https://<host>[:port][/base-path]",b=l+"key must be a non-empty string",g=l+"uploadId must be a non-empty string",m=l+"data must be a Buffer or string",E=l+"prefix must be a string",$=l+"delimiter must be a string",j=new TextEncoder,T="0123456789abcdef",O=t=>{if("string"==typeof t)return j.encode(t).byteLength;if(t instanceof ArrayBuffer||t instanceof Uint8Array)return t.byteLength;if(t instanceof Blob)return t.size;throw Error("Unsupported data type")},A=t=>{const e=new Uint8Array(t);let r="";for(const t of e)r+=T[t>>4]+T[15&t];return r},S=async t=>{const e=j.encode(t);return await globalThis.crypto.subtle.digest("SHA-256",e)},U=async(t,e)=>{const r=await globalThis.crypto.subtle.importKey("raw","string"==typeof t?j.encode(t):t,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),o=j.encode(e);return await globalThis.crypto.subtle.sign("HMAC",r,o)},x=t=>{const e={'"':"",""":"",""":""};return t.replaceAll(/(^("|"|"))|(("|"|")$)/g,t=>e[t]||"")},_={""":'"',"'":"'","<":"<",">":">","&":"&"},v=t=>t.replaceAll(/&(quot|apos|lt|gt|amp);/g,t=>_[t]??t),q=t=>{const e=t.replace(/<\?xml[^?]*\?>\s*/,""),r=/<([A-Za-z_][\w\-.]*)[^>]*>([\s\S]*?)<\/\1>/gm,o={};let s;for(;null!==(s=r.exec(e));){const t=s[1],e=s[2],r=e?q(e):v(e?.trim()||"");if(!t)continue;const n=o[t];void 0===n?o[t]=r:Array.isArray(n)?n.push(r):o[t]=[n,r]}return Object.keys(o).length>0?o:v(e.trim())},C=t=>"%"+t.charCodeAt(0).toString(16).toUpperCase(),D=t=>encodeURIComponent(t).replace(/[!'()*]/g,C);class H extends Error{code;constructor(t,e,r){super(t),this.name=new.target.name,this.code=e,this.cause=r}}class R extends H{}class k extends H{status;serviceCode;body;constructor(t,e,r,o){super(t,r),this.status=e,this.serviceCode=r,this.body=o}}const P=async(t,e=30,r=0)=>{const o=[];let s=[];for(const r of t)s.push(r),s.length===e&&(await n(s),s=[]);return s.length&&await n(s),o;async function n(t){const e=Date.now(),s=await Promise.allSettled(t.map(t=>t()));if(o.push(...s),r>0){const t=r-(Date.now()-e);t>0&&await new Promise(e=>setTimeout(e,t))}}};class N{accessKeyId;secretAccessKey;endpoint;region;bucketName;requestSizeInBytes;requestAbortTimeout;logger;fetch;signingKeyDate;signingKey;constructor({accessKeyId:t,secretAccessKey:e,endpoint:r,region:o="auto",requestSizeInBytes:s=8388608,requestAbortTimeout:n,logger:i,fetch:a=globalThis.fetch}){this.t(t,e,r),this.accessKeyId=t,this.secretAccessKey=e,this.endpoint=new URL(this.o(r)),this.region=o,this.bucketName=this.i(),this.requestSizeInBytes=s,this.requestAbortTimeout=n,this.logger=i,this.fetch=a}h(t){return"object"!=typeof t||null===t?t:Object.keys(t).reduce((e,r)=>(e[r]=n.has(r.toLowerCase())?"[REDACTED]":"object"==typeof t[r]&&null!==t[r]?this.h(t[r]):t[r],e),Array.isArray(t)?[]:{})}u(t,e,r={}){if(this.logger&&"function"==typeof this.logger[t]){const o=this.h(r),s={timestamp:(new Date).toISOString(),level:t,message:e,details:o,context:this.h({region:this.region,endpoint:""+this.endpoint,accessKeyId:this.accessKeyId?this.accessKeyId.substring(0,4)+"...":void 0})};this.logger[t](JSON.stringify(s))}}t(t,e,r){if("string"!=typeof t||0===t.trim().length)throw new TypeError(p);if("string"!=typeof e||0===e.trim().length)throw new TypeError(y);if("string"!=typeof r||0===r.trim().length)throw new TypeError(f)}o(t){const e=/^(https?:)?\/\//i.test(t)?t:"https://"+t;try{new URL(e);let t=e.length;for(;t>0&&"/"===e[t-1];)t--;return t===e.length?e:e.substring(0,t)}catch{const e=`${w} But provided: "${t}"`;throw this.u("error",e),new TypeError(e)}}l(t){if("GET"!==t&&"HEAD"!==t)throw this.u("error",l+"method must be either GET or HEAD"),Error(l+"method must be either GET or HEAD")}p(t){if("string"!=typeof t||0===t.trim().length)throw this.u("error",b),new TypeError(b)}m(t){if("string"!=typeof t||0===t.trim().length)throw this.u("error",$),new TypeError($)}$(t){if("string"!=typeof t)throw this.u("error",E),new TypeError(E)}j(t){if("object"!=typeof t)throw this.u("error",l+"opts must be an object"),new TypeError(l+"opts must be an object")}T(t){const e={},r={};for(const[o,s]of Object.entries(t))i.has(o.toLowerCase())?r[o]=s:e[o]=s;return{filteredOpts:e,conditionalHeaders:r}}O(t){if(!(globalThis.Buffer&&t instanceof globalThis.Buffer||"string"==typeof t))throw this.u("error",m),new TypeError(m);return t}A(t,e,r,o,s){if(this.p(t),"string"!=typeof e||0===e.trim().length)throw this.u("error",g),new TypeError(g);if(!Number.isInteger(o)||o<=0)throw this.u("error",l+"partNumber must be a positive integer"),new TypeError(l+"partNumber must be a positive integer");return this.j(s),this.O(r)}async S(o,s,n={},i={}){const c=new URL(this.endpoint);s&&s.length>0&&(c.pathname="/"===c.pathname?"/"+s.replace(/^\/+/,""):`${c.pathname}/${s.replace(/^\/+/,"")}`);const h=new Date,u=`${h.getUTCFullYear()}${(h.getUTCMonth()+1+"").padStart(2,"0")}${(h.getUTCDate()+"").padStart(2,"0")}`,d=`${u}T${(h.getUTCHours()+"").padStart(2,"0")}${(h.getUTCMinutes()+"").padStart(2,"0")}${(h.getUTCSeconds()+"").padStart(2,"0")}Z`,l=`${u}/${this.region}/s3/${e}`;i[a]=r,i["x-amz-date"]=d,i.host=c.host;const p=new Set(["authorization","content-length","content-type","user-agent"]);let y="",f="";for(const[t,e]of Object.entries(i).sort(([t],[e])=>t.localeCompare(e))){const r=t.toLowerCase();p.has(r)||(y&&(y+="\n",f+=";"),y+=`${r}:${(e+"").trim()}`,f+=r)}const w=`${o}\n${c.pathname}\n${this.U(n)}\n${y}\n\n${f}\n${r}`,b=`${t}\n${d}\n${l}\n${A(await S(w))}`;u===this.signingKeyDate&&this.signingKey||(this.signingKeyDate=u,this.signingKey=await this._(u));const g=A(await U(this.signingKey,b));return i.authorization=`${t} Credential=${this.accessKeyId}/${l}, SignedHeaders=${f}, Signature=${g}`,{url:""+c,headers:i}}async v(t,e,{query:o={},body:s="",headers:n={},tolerated:i=[],withQuery:c=!1}={}){const{filteredOpts:h,conditionalHeaders:u}=["GET","HEAD"].includes(t)?this.T(o):{filteredOpts:o,conditionalHeaders:{}},d={[a]:r,...n,...u},l=e?D(e).replaceAll("%2F","/"):"",{url:p,headers:y}=await this.S(t,l,h,d);Object.keys(o).length>0&&(c=!0);const f=Object.fromEntries(Object.entries(h).map(([t,e])=>[t,e+""])),w=c&&Object.keys(h).length?`${p}?${new URLSearchParams(f)}`:p,b=Object.fromEntries(Object.entries(y).map(([t,e])=>[t,e+""]));return this.q(w,t,b,s,i)}sanitizeETag(t){return x(t)}async createBucket(){const t=`\n <CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">\n <LocationConstraint>${this.region}</LocationConstraint>\n </CreateBucketConfiguration>\n `,e={[h]:s,[u]:O(t)};return 200===(await this.v("PUT","",{body:t,headers:e,tolerated:[200,404,403,409]})).status}i(){const t=this.endpoint,e=t.pathname.split("/").filter(Boolean);if(e.length>0&&"string"==typeof e[0])return e[0];const r=t.hostname.split(".");if(r.length>=3){const t=r.slice(-2).join(".");if(["amazonaws.com","digitaloceanspaces.com","cloudflare.com"].some(e=>t.includes(e))&&"string"==typeof r[0])return r[0]}return r[0]||""}async bucketExists(){return 200===(await this.v("HEAD","",{tolerated:[200,404,403]})).status}async listObjects(t="/",e="",r,o={}){this.m(t),this.$(e),this.j(o);const s="/"===t?t:D(t),n=!(r&&r>0);let i,a=n?1/0:r;const c=[];do{const t=await this.C(s,e,a,i,o);if(null===t)return null;c.push(...t.objects),n||(a-=t.objects.length),i=t.continuationToken}while(i&&a>0);return c}async C(t,e,r,o,s){const n=this.D(e,r,o,s),i=await this.v("GET",t,{query:n,withQuery:!0,tolerated:[200,404]});if(404===i.status)return null;200!==i.status&&await this.H(i);const a=await i.text();return this.R(a)}D(t,e,r,o){return{"list-type":"2","max-keys":Math.min(e,1e3)+"",...t?{prefix:t}:{},...r?{"continuation-token":r}:{},...o}}async H(t){const e=await t.text(),r=this.k(t.headers,e),o=t.headers.get("x-amz-error-code")??r.svcCode??"Unknown",s=t.headers.get("x-amz-error-message")??r.errorMessage??t.statusText;throw this.u("error",`${l}Request failed with status ${t.status}: ${o} - ${s}, err body: ${e}`),Error(`${l}Request failed with status ${t.status}: ${o} - ${s}, err body: ${e}`)}R(t){const e=q(t);if("object"!=typeof e||!e||"error"in e)throw this.u("error",`${l}Unexpected listObjects response shape: ${JSON.stringify(e)}`),Error(l+"Unexpected listObjects response shape");const r=e.ListBucketResult||e.listBucketResult||e;return{objects:this.P(r),continuationToken:this.N(r)}}P(t){const e=t.Contents||t.contents;return e?Array.isArray(e)?e:[e]:[]}N(t){if("true"===t.IsTruncated||"true"===t.isTruncated)return t.NextContinuationToken||t.nextContinuationToken||t.NextMarker||t.nextMarker}async listMultipartUploads(t="/",e="",r="GET",o={}){this.m(t),this.$(e),this.l(r),this.j(o);const s={uploads:"",...o},n="/"===t?t:D(t),i=await this.v(r,n,{query:s,withQuery:!0}),a=q(await i.text());if("object"!=typeof a||null===a)throw Error(l+"Unexpected listMultipartUploads response shape");return"listMultipartUploadsResult"in a?a.listMultipartUploadsResult:a}async getObject(t,e={},r){const o=await this.v("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(o.status)?null:o.text()}async getObjectResponse(t,e={},r){const o=await this.v("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(o.status)?null:o}async getObjectArrayBuffer(t,e={},r){const o=await this.v("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(o.status)?null:o.arrayBuffer()}async getObjectJSON(t,e={},r){const o=await this.v("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});return[404,412,304].includes(o.status)?null:o.json()}async getObjectWithETag(t,e={},r){try{const o=await this.v("GET",t,{query:e,tolerated:[200,404,412,304],headers:r?{...r}:void 0});if([404,412,304].includes(o.status))return{etag:null,data:null};const s=o.headers.get(d);if(!s)throw Error(l+"ETag not found in response headers");return{etag:x(s),data:await o.arrayBuffer()}}catch(e){throw this.u("error",`Error getting object ${t} with ETag: ${e+""}`),e}}async getObjectRaw(t,e=!0,r=0,o=this.requestSizeInBytes,s={},n){return this.v("GET",t,{query:{...s},headers:{...e?{}:{range:`bytes=${r}-${o-1}`},...n},withQuery:!0})}async getContentLength(t,e){try{const r=(await this.v("HEAD",t,{headers:e?{...e}:void 0})).headers.get(u);return r?+r:0}catch(e){throw this.u("error",`Error getting content length for object ${t}: ${e+""}`),Error(`${l}Error getting content length for object ${t}: ${e+""}`)}}async objectExists(t,e={}){const r=await this.v("HEAD",t,{query:e,tolerated:[200,404,412,304]});return 404!==r.status&&(412!==r.status&&304!==r.status||null)}async getEtag(t,e={},r){const o=await this.v("HEAD",t,{query:e,tolerated:[200,304,404,412],headers:r?{...r}:void 0});if(404===o.status)return null;if(412===o.status||304===o.status)return null;const s=o.headers.get(d);if(!s)throw Error(l+"ETag not found in response headers");return x(s)}async putObject(t,e,r=o,s,n){return this.v("PUT",t,{body:this.O(e),headers:{[u]:O(e),[h]:r,...n,...s},tolerated:[200]})}async getMultipartUploadId(t,e=o,r){if(this.p(t),"string"!=typeof e)throw new TypeError(l+"fileType must be a string");const s={[h]:e,...r},n=await this.v("POST",t,{query:{uploads:""},headers:s,withQuery:!0}),i=q(await n.text());if(i&&"object"==typeof i){const t=i.initiateMultipartUploadResult||i.InitiateMultipartUploadResult;if(t&&"object"==typeof t){const e=t.uploadId||t.UploadId;if(e&&"string"==typeof e)return e}}throw Error(`${l}Failed to create multipart upload: ${JSON.stringify(i)}`)}async uploadPart(t,e,r,o,s={},n){const i=this.A(t,e,r,o,s),a={uploadId:e,partNumber:o,...s},c=await this.v("PUT",t,{query:a,body:i,headers:{[u]:O(r),...n}});return{partNumber:o,etag:x(c.headers.get("etag")||"")}}async completeMultipartUpload(t,e,r){const o={uploadId:e},n=this.I(r),i={[h]:s,[u]:O(n)},a=await this.v("POST",t,{query:o,body:n,headers:i,withQuery:!0}),c=q(await a.text());if(c&&"object"==typeof c){const t=c.completeMultipartUploadResult||c.CompleteMultipartUploadResult||c;if(t&&"object"==typeof t){const e=t,r=e.ETag||e.eTag||e.etag;return r&&"string"==typeof r?{...e,etag:x(r)}:t}}throw Error(`${l}Failed to complete multipart upload: ${JSON.stringify(c)}`)}async abortMultipartUpload(t,e,r){if(this.p(t),!e)throw new TypeError(g);const o={uploadId:e},n={[h]:s,...r?{...r}:{}},i=await this.v("DELETE",t,{query:o,headers:n,withQuery:!0}),a=q(await i.text());if(a&&"error"in a&&"object"==typeof a.error&&null!==a.error&&"message"in a.error)throw this.u("error",`${l}Failed to abort multipart upload: ${a.error.message+""}`),Error(`${l}Failed to abort multipart upload: ${a.error.message+""}`);return{status:"Aborted",key:t,uploadId:e,response:a}}I(t){let e="<CompleteMultipartUpload>";for(const r of t)e+=`<Part><PartNumber>${r.partNumber}</PartNumber><ETag>${r.etag}</ETag></Part>`;return e+="</CompleteMultipartUpload>",e}async M(t,e,r){const{metadataDirective:o="COPY",metadata:s={},contentType:n,storageClass:i,taggingDirective:a,websiteRedirectLocation:c,sourceSSECHeaders:u={},destinationSSECHeaders:d={},additionalHeaders:l={}}=r,p={"x-amz-copy-source":e,"x-amz-metadata-directive":o,...l,...n&&{[h]:n},...i&&{"x-amz-storage-class":i},...a&&{"x-amz-tagging-directive":a},...c&&{"x-amz-website-redirect-location":c},...this.G(u,d),..."REPLACE"===o?this.L(s):{}};try{const e=await this.v("PUT",t,{headers:p,tolerated:[200]});return this.K(await e.text())}catch(e){throw this.u("error","Error in copy operation to "+t,{error:e+""}),e}}copyObject(t,e,r={}){this.p(t),this.p(e);const o=`/${this.bucketName}/${D(t)}`;return this.M(e,o,r)}G(t,e){const r={};for(const[o,s]of Object.entries({...t,...e}))void 0!==s&&(r[o]=s);return r}async moveObject(t,e,r={}){try{const o=await this.copyObject(t,e,r);if(!await this.deleteObject(t))throw Error(l+"Failed to delete source object after successful copy");return o}catch(r){throw this.u("error",`Error moving object from ${t} to ${e}`,{error:r+""}),r}}L(t){const e={};for(const[r,o]of Object.entries(t))e[r.startsWith("x-amz-meta-")?r:"x-amz-meta-"+r]=o;return e}K(t){const e=q(t);if(!e||"object"!=typeof e)throw Error(l+"Unexpected copyObject response format");const r=e.CopyObjectResult||e.copyObjectResult||e,o=r.ETag||r.eTag||r.etag,s=r.LastModified||r.lastModified;if(!o||"string"!=typeof o)throw Error(l+"ETag not found in copyObject response");return{etag:x(o),lastModified:s?new Date(s):void 0}}async deleteObject(t){const e=await this.v("DELETE",t,{tolerated:[200,204]});return 200===e.status||204===e.status}async B(t){const e="<Delete>"+t.map(t=>{return`<Object><Key>${e=t,e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}</Key></Object>`;var e}).join("")+"</Delete>",r=(t=>{const e=new Uint8Array(t);let r="";for(let t=0;t<e.length;t+=32768){const o=e.subarray(t,t+32768);r+=btoa(String.fromCodePoint(...o))}return r})(await S(e)),o={[h]:s,[u]:O(e),[c]:r},n=await this.v("POST","",{query:{delete:""},body:e,headers:o,withQuery:!0}),i=q(await n.text());if(!i||"object"!=typeof i)throw Error(`${l}Failed to delete objects: ${JSON.stringify(i)}`);const a=i.DeleteResult||i.deleteResult||i,d=new Map;for(const e of t)d.set(e,!1);const p=a.deleted||a.Deleted;if(p){const t=Array.isArray(p)?p:[p];for(const e of t)if(e&&"object"==typeof e){const t=e.key||e.Key;t&&"string"==typeof t&&d.set(t,!0)}}const y=a.error||a.Error;if(y){const t=Array.isArray(y)?y:[y];for(const e of t)if(e&&"object"==typeof e){const t=e.key||e.Key,r=e.code||e.Code,o=e.message||e.Message;t&&"string"==typeof t&&(d.set(t,!1),this.u("warn","Failed to delete object: "+t,{code:r||"Unknown",message:o||"Unknown error"}))}}return t.map(t=>d.get(t)||!1)}async deleteObjects(t){if(!Array.isArray(t)||0===t.length)return[];const e=1e3;if(t.length>e){const r=[];for(let o=0;o<t.length;o+=e){const s=t.slice(o,o+e);r.push(this.B(s))}return(await Promise.all(r)).flat()}return await this.B(t)}async q(t,e,r,o,s=[]){this.u("info",`Sending ${e} request to ${t}`,"headers: "+JSON.stringify(r));try{const n=await this.fetch(t,{method:e,headers:r,body:["GET","HEAD"].includes(e)?void 0:o,signal:this.requestAbortTimeout?AbortSignal.timeout(this.requestAbortTimeout):void 0});return this.u("info",`Response status: ${n.status}, tolerated: ${s.join(",")}`),n.ok||s.includes(n.status)||await this.F(n),n}catch(t){const e=(t=>{if("object"!=typeof t||null===t)return;const e=t;return"string"==typeof e.code?e.code:"string"==typeof e.cause?.code?e.cause.code:void 0})(t);if(e&&["ENOTFOUND","EAI_AGAIN","ETIMEDOUT","ECONNREFUSED"].includes(e))throw new R("S3 network error: "+e,e,t);throw t}}k(t,e){if("application/xml"!==t.get("content-type"))return{};const r=q(e);if(!r||"object"!=typeof r||!("Error"in r)||!r.Error||"object"!=typeof r.Error)return{};const o=r.Error;return{svcCode:"Code"in o&&"string"==typeof o.Code?o.Code:void 0,errorMessage:"Message"in o&&"string"==typeof o.Message?o.Message:void 0}}async F(t){const e=await t.text(),r=this.k(t.headers,e),o=t.headers.get("x-amz-error-code")??r.svcCode??"Unknown",s=t.headers.get("x-amz-error-message")??r.errorMessage??t.statusText;throw this.u("error",`${l}Request failed with status ${t.status}: ${o} - ${s},err body: ${e}`),new k(`S3 returned ${t.status} β ${o}`,t.status,o,e)}U(t){return t&&0!==Object.keys(t).length?Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).sort((t,e)=>t.localeCompare(e)).join("&"):""}async _(t){const r=await U("AWS4"+this.secretAccessKey,t),o=await U(r,this.region),s=await U(o,"s3");return await U(s,e)}}export{N as S3mini,P as runInBatches,x as sanitizeETag};
|
|
2
2
|
//# sourceMappingURL=s3mini.min.js.map
|
package/dist/s3mini.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3mini.min.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["AWS_ALGORITHM","AWS_REQUEST_TYPE","UNSIGNED_PAYLOAD","DEFAULT_STREAM_CONTENT_TYPE","XML_CONTENT_TYPE","SENSITIVE_KEYS_REDACTED","HEADER_AMZ_CONTENT_SHA256","HEADER_AMZ_CHECKSUM_SHA256","HEADER_CONTENT_TYPE","HEADER_CONTENT_LENGTH","HEADER_ETAG","ERROR_PREFIX","ERROR_ACCESS_KEY_REQUIRED","ERROR_SECRET_KEY_REQUIRED","ERROR_ENDPOINT_REQUIRED","ERROR_ENDPOINT_FORMAT","ERROR_KEY_REQUIRED","ERROR_UPLOAD_ID_REQUIRED","ERROR_DATA_BUFFER_REQUIRED","ERROR_PREFIX_TYPE","ERROR_DELIMITER_REQUIRED","ENCODR","TextEncoder","HEXS","getByteSize","data","encode","byteLength","ArrayBuffer","Uint8Array","Blob","size","Error","hexFromBuffer","buffer","bytes","hex","byte","sha256","async","content","globalThis","crypto","subtle","digest","hmac","key","secret","importKey","name","hash","sign","sanitizeETag","etag","replaceChars","replace","m","entityMap","unescapeXml","value","parseXml","input","xmlContent","RE_TAG","result","match","exec","tagName","innerContent","node","trim","current","undefined","Array","isArray","push","Object","keys","length","encodeAsHex","c","charCodeAt","toString","toUpperCase","uriEscape","uriStr","encodeURIComponent","S3Error","code","constructor","msg","cause","super","this","S3NetworkError","S3ServiceError","status","serviceCode","body","runInBatches","tasks","batchSize","minIntervalMs","allResults","batch","task","executeBatch","batchFns","start","Date","now","settled","Promise","allSettled","map","fn","wait","resolve","setTimeout","S3mini","accessKeyId","secretAccessKey","endpoint","region","bucketName","requestSizeInBytes","requestAbortTimeout","logger","signingKeyDate","signingKey","_validateConstructorParams","URL","_ensureValidUrl","_extractBucketName","_sanitize","obj","reduce","acc","C.SENSITIVE_KEYS_REDACTED","includes","toLowerCase","_log","level","message","additionalData","sanitizedData","logEntry","timestamp","toISOString","details","context","substring","JSON","stringify","TypeError","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","raw","candidate","test","endIndex","C.ERROR_ENDPOINT_FORMAT","_validateMethodIsGetOrHead","method","C.ERROR_PREFIX","_checkKey","C.ERROR_KEY_REQUIRED","_checkDelimiter","delimiter","C.ERROR_DELIMITER_REQUIRED","_checkPrefix","prefix","C.ERROR_PREFIX_TYPE","_checkOpts","opts","_filterIfHeaders","filteredOpts","conditionalHeaders","ifHeaders","entries","_validateData","Buffer","C.ERROR_DATA_BUFFER_REQUIRED","_validateUploadPartParams","uploadId","partNumber","C.ERROR_UPLOAD_ID_REQUIRED","Number","isInteger","_sign","keyPath","query","headers","url","pathname","d","shortDatetime","getUTCFullYear","getUTCMonth","String","padStart","getUTCDate","fullDatetime","getUTCHours","getUTCMinutes","getUTCSeconds","credentialScope","C.AWS_REQUEST_TYPE","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","host","ignoredHeaders","Set","canonicalHeaders","signedHeaders","sort","a","b","localeCompare","lowerKey","has","canonicalRequest","_buildCanonicalQueryString","stringToSign","C.AWS_ALGORITHM","U.hexFromBuffer","U.sha256","_getSignatureKey","signature","U.hmac","_signedRequest","tolerated","withQuery","baseHeaders","encodedKey","filteredOptsStrings","fromEntries","k","v","finalUrl","URLSearchParams","signedHeadersString","_sendRequest","U.sanitizeETag","createBucket","xmlBody","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","U.getByteSize","pathSegments","split","filter","p","hostParts","hostname","domain","slice","join","some","bucketExists","listObjects","maxKeys","U.uriEscape","unlimited","token","remaining","Infinity","all","batchResult","_fetchObjectBatch","objects","continuationToken","_buildListObjectsQuery","res","_handleListObjectsError","xmlText","text","_parseListObjectsResponse","Math","min","errorBody","parsedErrorBody","_parseErrorXml","errorCode","get","svcCode","errorMessage","statusText","U.parseXml","out","ListBucketResult","listBucketResult","_extractObjectsFromResponse","_extractContinuationToken","response","contents","Contents","IsTruncated","isTruncated","NextContinuationToken","nextContinuationToken","NextMarker","nextMarker","listMultipartUploads","uploads","listMultipartUploadsResult","getObject","ssecHeaders","getObjectResponse","getObjectArrayBuffer","arrayBuffer","getObjectJSON","json","getObjectWithETag","C.HEADER_ETAG","err","getObjectRaw","wholeFile","rangeFrom","rangeTo","range","getContentLength","len","objectExists","getEtag","putObject","fileType","C.DEFAULT_STREAM_CONTENT_TYPE","additionalHeaders","getMultipartUploadId","parsed","uploadResult","initiateMultipartUploadResult","InitiateMultipartUploadResult","UploadId","uploadPart","completeMultipartUpload","parts","_buildCompleteMultipartUploadXml","completeMultipartUploadResult","CompleteMultipartUploadResult","resultObj","ETag","eTag","abortMultipartUpload","error","xml","part","_executeCopyOperation","destinationKey","copySource","options","metadataDirective","metadata","contentType","storageClass","taggingDirective","websiteRedirectLocation","sourceSSECHeaders","destinationSSECHeaders","_buildSSECHeaders","_buildMetadataHeaders","_parseCopyObjectResponse","copyObject","sourceKey","sourceHeaders","destHeaders","forEach","moveObject","copyResult","deleteObject","startsWith","CopyObjectResult","copyObjectResult","lastModified","LastModified","_deleteObjectsProcess","sha256base64","i","chunk","subarray","btoa","fromCharCode","apply","U.base64FromBuffer","C.HEADER_AMZ_CHECKSUM_SHA256","delete","DeleteResult","deleteResult","resultMap","Map","set","deleted","Deleted","item","Key","errors","Code","Message","deleteObjects","maxBatchSize","allPromises","flat","toleratedStatusCodes","fetch","signal","AbortSignal","timeout","ok","_handleErrorResponse","e","U.extractErrCode","U.S3NetworkError","parsedBody","U.S3ServiceError","queryParams","dateStamp","kDate","kRegion","kService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"s3mini.min.js","sources":["../src/consts.ts","../src/utils.ts","../src/S3.ts"],"sourcesContent":[null,null,null],"names":["AWS_ALGORITHM","AWS_REQUEST_TYPE","UNSIGNED_PAYLOAD","DEFAULT_STREAM_CONTENT_TYPE","XML_CONTENT_TYPE","SENSITIVE_KEYS_REDACTED","Set","IFHEADERS","HEADER_AMZ_CONTENT_SHA256","HEADER_AMZ_CHECKSUM_SHA256","HEADER_CONTENT_TYPE","HEADER_CONTENT_LENGTH","HEADER_ETAG","ERROR_PREFIX","ERROR_ACCESS_KEY_REQUIRED","ERROR_SECRET_KEY_REQUIRED","ERROR_ENDPOINT_REQUIRED","ERROR_ENDPOINT_FORMAT","ERROR_KEY_REQUIRED","ERROR_UPLOAD_ID_REQUIRED","ERROR_DATA_BUFFER_REQUIRED","ERROR_PREFIX_TYPE","ERROR_DELIMITER_REQUIRED","ENCODR","TextEncoder","HEXS","getByteSize","data","encode","byteLength","ArrayBuffer","Uint8Array","Blob","size","Error","hexFromBuffer","buffer","bytes","hex","byte","sha256","async","content","globalThis","crypto","subtle","digest","hmac","key","secret","importKey","name","hash","sign","sanitizeETag","etag","replaceChars","replaceAll","m","entityMap","unescapeXml","value","parseXml","input","xmlContent","replace","RE_TAG","result","match","exec","tagName","innerContent","node","trim","current","undefined","Array","isArray","push","Object","keys","length","encodeAsHex","c","charCodeAt","toString","toUpperCase","uriEscape","uriStr","encodeURIComponent","S3Error","code","constructor","msg","cause","super","this","S3NetworkError","S3ServiceError","status","serviceCode","body","runInBatches","tasks","batchSize","minIntervalMs","allResults","batch","task","executeBatch","batchFns","start","Date","now","settled","Promise","allSettled","map","fn","wait","resolve","setTimeout","S3mini","accessKeyId","secretAccessKey","endpoint","region","bucketName","requestSizeInBytes","requestAbortTimeout","logger","fetch","signingKeyDate","signingKey","_validateConstructorParams","URL","_ensureValidUrl","_extractBucketName","_sanitize","obj","reduce","acc","C.SENSITIVE_KEYS_REDACTED","has","toLowerCase","_log","level","message","additionalData","sanitizedData","logEntry","timestamp","toISOString","details","context","substring","JSON","stringify","TypeError","C.ERROR_ACCESS_KEY_REQUIRED","C.ERROR_SECRET_KEY_REQUIRED","C.ERROR_ENDPOINT_REQUIRED","raw","candidate","test","endIndex","C.ERROR_ENDPOINT_FORMAT","_validateMethodIsGetOrHead","method","C.ERROR_PREFIX","_checkKey","C.ERROR_KEY_REQUIRED","_checkDelimiter","delimiter","C.ERROR_DELIMITER_REQUIRED","_checkPrefix","prefix","C.ERROR_PREFIX_TYPE","_checkOpts","opts","_filterIfHeaders","filteredOpts","conditionalHeaders","entries","C.IFHEADERS","_validateData","Buffer","C.ERROR_DATA_BUFFER_REQUIRED","_validateUploadPartParams","uploadId","partNumber","C.ERROR_UPLOAD_ID_REQUIRED","Number","isInteger","_sign","keyPath","query","headers","url","pathname","d","shortDatetime","getUTCFullYear","getUTCMonth","String","padStart","getUTCDate","fullDatetime","getUTCHours","getUTCMinutes","getUTCSeconds","credentialScope","C.AWS_REQUEST_TYPE","C.HEADER_AMZ_CONTENT_SHA256","C.UNSIGNED_PAYLOAD","host","ignoredHeaders","canonicalHeaders","signedHeaders","sort","a","b","localeCompare","lowerKey","canonicalRequest","_buildCanonicalQueryString","stringToSign","C.AWS_ALGORITHM","U.hexFromBuffer","U.sha256","_getSignatureKey","signature","U.hmac","_signedRequest","tolerated","withQuery","includes","baseHeaders","encodedKey","filteredOptsStrings","fromEntries","k","v","finalUrl","URLSearchParams","signedHeadersString","_sendRequest","U.sanitizeETag","createBucket","xmlBody","C.HEADER_CONTENT_TYPE","C.XML_CONTENT_TYPE","C.HEADER_CONTENT_LENGTH","U.getByteSize","pathSegments","split","filter","Boolean","hostParts","hostname","domain","slice","join","some","bucketExists","listObjects","maxKeys","U.uriEscape","unlimited","token","remaining","Infinity","all","batchResult","_fetchObjectBatch","objects","continuationToken","_buildListObjectsQuery","res","_handleListObjectsError","xmlText","text","_parseListObjectsResponse","Math","min","errorBody","parsedErrorBody","_parseErrorXml","errorCode","get","svcCode","errorMessage","statusText","U.parseXml","out","ListBucketResult","listBucketResult","_extractObjectsFromResponse","_extractContinuationToken","response","contents","Contents","IsTruncated","isTruncated","NextContinuationToken","nextContinuationToken","NextMarker","nextMarker","listMultipartUploads","uploads","listMultipartUploadsResult","getObject","ssecHeaders","getObjectResponse","getObjectArrayBuffer","arrayBuffer","getObjectJSON","json","getObjectWithETag","C.HEADER_ETAG","err","getObjectRaw","wholeFile","rangeFrom","rangeTo","range","getContentLength","len","objectExists","getEtag","putObject","fileType","C.DEFAULT_STREAM_CONTENT_TYPE","additionalHeaders","getMultipartUploadId","parsed","uploadResult","initiateMultipartUploadResult","InitiateMultipartUploadResult","UploadId","uploadPart","completeMultipartUpload","parts","_buildCompleteMultipartUploadXml","completeMultipartUploadResult","CompleteMultipartUploadResult","resultObj","ETag","eTag","abortMultipartUpload","error","xml","part","_executeCopyOperation","destinationKey","copySource","options","metadataDirective","metadata","contentType","storageClass","taggingDirective","websiteRedirectLocation","sourceSSECHeaders","destinationSSECHeaders","_buildSSECHeaders","_buildMetadataHeaders","_parseCopyObjectResponse","copyObject","sourceKey","sourceHeaders","destHeaders","moveObject","copyResult","deleteObject","startsWith","CopyObjectResult","copyObjectResult","lastModified","LastModified","_deleteObjectsProcess","sha256base64","i","chunk","subarray","btoa","fromCodePoint","U.base64FromBuffer","C.HEADER_AMZ_CHECKSUM_SHA256","delete","DeleteResult","deleteResult","resultMap","Map","set","deleted","Deleted","deletedArray","item","Key","errors","errorsArray","Code","Message","deleteObjects","maxBatchSize","allPromises","flat","toleratedStatusCodes","signal","AbortSignal","timeout","ok","_handleErrorResponse","e","U.extractErrCode","U.S3NetworkError","parsedBody","U.S3ServiceError","queryParams","dateStamp","kDate","kRegion","kService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "s3mini",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "πΆ Tiny & fast S3 client for node and edge computing platforms",
|
|
5
5
|
"homepage": "https://github.com/good-lly/s3mini",
|
|
6
6
|
"bugs": {
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"./dist/",
|
|
19
19
|
"./src/",
|
|
20
|
-
"./types/",
|
|
21
20
|
"./package.json",
|
|
22
21
|
"./README.md"
|
|
23
22
|
],
|
|
@@ -67,32 +66,32 @@
|
|
|
67
66
|
"private": false,
|
|
68
67
|
"devDependencies": {
|
|
69
68
|
"@aws-lite/client": "^0.23.2",
|
|
70
|
-
"@aws-lite/s3": "
|
|
71
|
-
"@aws-sdk/client-s3": "
|
|
72
|
-
"@eslint/eslintrc": "
|
|
73
|
-
"@eslint/js": "
|
|
74
|
-
"@rollup/plugin-node-resolve": "
|
|
75
|
-
"@rollup/plugin-terser": "
|
|
76
|
-
"@rollup/plugin-typescript": "
|
|
77
|
-
"@types/node": "
|
|
78
|
-
"@typescript-eslint/eslint-plugin": "
|
|
79
|
-
"@typescript-eslint/parser": "
|
|
80
|
-
"console-table-printer": "
|
|
81
|
-
"dotenv": "
|
|
82
|
-
"eslint": "
|
|
83
|
-
"eslint-config-prettier": "
|
|
84
|
-
"jest": "
|
|
85
|
-
"minio": "
|
|
86
|
-
"prettier": "
|
|
87
|
-
"rimraf": "
|
|
88
|
-
"rollup": "
|
|
89
|
-
"rollup-plugin-dts": "
|
|
90
|
-
"s3mini": "
|
|
91
|
-
"tinybench": "
|
|
92
|
-
"typescript": "
|
|
69
|
+
"@aws-lite/s3": "0.2.6",
|
|
70
|
+
"@aws-sdk/client-s3": "3.933.0",
|
|
71
|
+
"@eslint/eslintrc": "3.3.1",
|
|
72
|
+
"@eslint/js": "9.39.1",
|
|
73
|
+
"@rollup/plugin-node-resolve": "16.0.3",
|
|
74
|
+
"@rollup/plugin-terser": "0.4.4",
|
|
75
|
+
"@rollup/plugin-typescript": "12.3.0",
|
|
76
|
+
"@types/node": "24.10.1",
|
|
77
|
+
"@typescript-eslint/eslint-plugin": "8.47.0",
|
|
78
|
+
"@typescript-eslint/parser": "8.47.0",
|
|
79
|
+
"console-table-printer": "2.15.0",
|
|
80
|
+
"dotenv": "17.2.3",
|
|
81
|
+
"eslint": "9.39.1",
|
|
82
|
+
"eslint-config-prettier": "10.1.8",
|
|
83
|
+
"jest": "30.2.0",
|
|
84
|
+
"minio": "8.0.6",
|
|
85
|
+
"prettier": "3.6.2",
|
|
86
|
+
"rimraf": "6.1.0",
|
|
87
|
+
"rollup": "4.53.2",
|
|
88
|
+
"rollup-plugin-dts": "6.2.3",
|
|
89
|
+
"s3mini": "0.6.0",
|
|
90
|
+
"tinybench": "5.1.0",
|
|
91
|
+
"typescript": "5.9.3"
|
|
93
92
|
},
|
|
94
93
|
"overrides": {
|
|
95
|
-
"glob": "
|
|
94
|
+
"glob": "12.0.0"
|
|
96
95
|
},
|
|
97
96
|
"prettier": {
|
|
98
97
|
"bracketSpacing": true,
|
|
@@ -116,10 +115,14 @@
|
|
|
116
115
|
"cloudflare",
|
|
117
116
|
"cloudflare r2",
|
|
118
117
|
"AWS S3",
|
|
118
|
+
"Oracle Cloud Infrastructure",
|
|
119
|
+
"OCI Object Storage",
|
|
119
120
|
"Azure Blob Storage",
|
|
120
121
|
"Google Cloud Storage",
|
|
121
122
|
"Ceph",
|
|
122
|
-
"
|
|
123
|
-
"
|
|
123
|
+
"backblaze",
|
|
124
|
+
"scaleway",
|
|
125
|
+
"digitalocean",
|
|
126
|
+
"minio"
|
|
124
127
|
]
|
|
125
128
|
}
|
package/src/S3.ts
CHANGED
|
@@ -40,6 +40,7 @@ class S3mini {
|
|
|
40
40
|
* @param {number} [config.requestSizeInBytes=8388608] - The request size of a single request in bytes (AWS S3 is 8MB).
|
|
41
41
|
* @param {number} [config.requestAbortTimeout=undefined] - The timeout in milliseconds after which a request should be aborted (careful on streamed requests).
|
|
42
42
|
* @param {Object} [config.logger=null] - A logger object with methods like info, warn, error.
|
|
43
|
+
* @param {typeof fetch} [config.fetch=globalThis.fetch] - Custom fetch implementation to use for HTTP requests.
|
|
43
44
|
* @throws {TypeError} Will throw an error if required parameters are missing or of incorrect type.
|
|
44
45
|
*/
|
|
45
46
|
readonly accessKeyId: string;
|
|
@@ -50,6 +51,7 @@ class S3mini {
|
|
|
50
51
|
readonly requestSizeInBytes: number;
|
|
51
52
|
readonly requestAbortTimeout?: number;
|
|
52
53
|
readonly logger?: IT.Logger;
|
|
54
|
+
readonly fetch: typeof fetch;
|
|
53
55
|
private signingKeyDate?: string;
|
|
54
56
|
private signingKey?: ArrayBuffer;
|
|
55
57
|
|
|
@@ -61,6 +63,7 @@ class S3mini {
|
|
|
61
63
|
requestSizeInBytes = C.DEFAULT_REQUEST_SIZE_IN_BYTES,
|
|
62
64
|
requestAbortTimeout = undefined,
|
|
63
65
|
logger = undefined,
|
|
66
|
+
fetch = globalThis.fetch,
|
|
64
67
|
}: IT.S3Config) {
|
|
65
68
|
this._validateConstructorParams(accessKeyId, secretAccessKey, endpoint);
|
|
66
69
|
this.accessKeyId = accessKeyId;
|
|
@@ -71,6 +74,7 @@ class S3mini {
|
|
|
71
74
|
this.requestSizeInBytes = requestSizeInBytes;
|
|
72
75
|
this.requestAbortTimeout = requestAbortTimeout;
|
|
73
76
|
this.logger = logger;
|
|
77
|
+
this.fetch = fetch;
|
|
74
78
|
}
|
|
75
79
|
|
|
76
80
|
private _sanitize(obj: unknown): unknown {
|
|
@@ -79,7 +83,7 @@ class S3mini {
|
|
|
79
83
|
}
|
|
80
84
|
return Object.keys(obj).reduce(
|
|
81
85
|
(acc: Record<string, unknown>, key) => {
|
|
82
|
-
if (C.SENSITIVE_KEYS_REDACTED.
|
|
86
|
+
if (C.SENSITIVE_KEYS_REDACTED.has(key.toLowerCase())) {
|
|
83
87
|
acc[key] = '[REDACTED]';
|
|
84
88
|
} else if (
|
|
85
89
|
typeof (obj as Record<string, unknown>)[key] === 'object' &&
|
|
@@ -203,11 +207,9 @@ class S3mini {
|
|
|
203
207
|
} {
|
|
204
208
|
const filteredOpts: Record<string, string> = {};
|
|
205
209
|
const conditionalHeaders: Record<string, unknown> = {};
|
|
206
|
-
const ifHeaders = ['if-match', 'if-none-match', 'if-modified-since', 'if-unmodified-since'];
|
|
207
210
|
|
|
208
211
|
for (const [key, value] of Object.entries(opts)) {
|
|
209
|
-
if (
|
|
210
|
-
// Convert to lowercase for consistency
|
|
212
|
+
if (C.IFHEADERS.has(key.toLowerCase())) {
|
|
211
213
|
conditionalHeaders[key] = value;
|
|
212
214
|
} else {
|
|
213
215
|
filteredOpts[key] = value as string;
|
|
@@ -295,7 +297,7 @@ class S3mini {
|
|
|
295
297
|
this.signingKeyDate = shortDatetime;
|
|
296
298
|
this.signingKey = await this._getSignatureKey(shortDatetime);
|
|
297
299
|
}
|
|
298
|
-
const signature = U.hexFromBuffer(await U.hmac(this.signingKey
|
|
300
|
+
const signature = U.hexFromBuffer(await U.hmac(this.signingKey, stringToSign));
|
|
299
301
|
headers[C.HEADER_AUTHORIZATION] =
|
|
300
302
|
`${C.AWS_ALGORITHM} Credential=${this.accessKeyId}/${credentialScope}, SignedHeaders=${signedHeaders}, Signature=${signature}`;
|
|
301
303
|
return { url: url.toString(), headers };
|
|
@@ -388,7 +390,7 @@ class S3mini {
|
|
|
388
390
|
const url = this.endpoint;
|
|
389
391
|
|
|
390
392
|
// First check if bucket is in the pathname (path-style URLs)
|
|
391
|
-
const pathSegments = url.pathname.split('/').filter(
|
|
393
|
+
const pathSegments = url.pathname.split('/').filter(Boolean);
|
|
392
394
|
if (pathSegments.length > 0) {
|
|
393
395
|
if (typeof pathSegments[0] === 'string') {
|
|
394
396
|
return pathSegments[0];
|
|
@@ -1228,11 +1230,11 @@ class S3mini {
|
|
|
1228
1230
|
destHeaders: Record<string, string | number>,
|
|
1229
1231
|
): Record<string, string | number> {
|
|
1230
1232
|
const headers: Record<string, string | number> = {};
|
|
1231
|
-
Object.entries({ ...sourceHeaders, ...destHeaders })
|
|
1233
|
+
for (const [k, v] of Object.entries({ ...sourceHeaders, ...destHeaders })) {
|
|
1232
1234
|
if (v !== undefined) {
|
|
1233
1235
|
headers[k] = v;
|
|
1234
1236
|
}
|
|
1235
|
-
}
|
|
1237
|
+
}
|
|
1236
1238
|
return headers;
|
|
1237
1239
|
}
|
|
1238
1240
|
|
|
@@ -1303,9 +1305,9 @@ class S3mini {
|
|
|
1303
1305
|
|
|
1304
1306
|
private _buildMetadataHeaders(metadata: Record<string, string>): Record<string, string> {
|
|
1305
1307
|
const headers: Record<string, string> = {};
|
|
1306
|
-
|
|
1308
|
+
for (const [k, v] of Object.entries(metadata)) {
|
|
1307
1309
|
headers[k.startsWith('x-amz-meta-') ? k : `x-amz-meta-${k}`] = v;
|
|
1308
|
-
}
|
|
1310
|
+
}
|
|
1309
1311
|
return headers;
|
|
1310
1312
|
}
|
|
1311
1313
|
|
|
@@ -1360,11 +1362,13 @@ class S3mini {
|
|
|
1360
1362
|
}
|
|
1361
1363
|
const out = (parsed.DeleteResult || parsed.deleteResult || parsed) as Record<string, unknown>;
|
|
1362
1364
|
const resultMap = new Map<string, boolean>();
|
|
1363
|
-
|
|
1365
|
+
for (const key of keys) {
|
|
1366
|
+
resultMap.set(key, false);
|
|
1367
|
+
}
|
|
1364
1368
|
const deleted = out.deleted || out.Deleted;
|
|
1365
1369
|
if (deleted) {
|
|
1366
1370
|
const deletedArray = Array.isArray(deleted) ? deleted : [deleted];
|
|
1367
|
-
|
|
1371
|
+
for (const item of deletedArray) {
|
|
1368
1372
|
if (item && typeof item === 'object') {
|
|
1369
1373
|
const obj = item as Record<string, unknown>;
|
|
1370
1374
|
// Check both key and Key
|
|
@@ -1373,14 +1377,14 @@ class S3mini {
|
|
|
1373
1377
|
resultMap.set(key, true);
|
|
1374
1378
|
}
|
|
1375
1379
|
}
|
|
1376
|
-
}
|
|
1380
|
+
}
|
|
1377
1381
|
}
|
|
1378
1382
|
|
|
1379
1383
|
// Handle errors (check both cases)
|
|
1380
1384
|
const errors = out.error || out.Error;
|
|
1381
1385
|
if (errors) {
|
|
1382
1386
|
const errorsArray = Array.isArray(errors) ? errors : [errors];
|
|
1383
|
-
|
|
1387
|
+
for (const item of errorsArray) {
|
|
1384
1388
|
if (item && typeof item === 'object') {
|
|
1385
1389
|
const obj = item as Record<string, unknown>;
|
|
1386
1390
|
// Check both cases for all properties
|
|
@@ -1397,7 +1401,7 @@ class S3mini {
|
|
|
1397
1401
|
});
|
|
1398
1402
|
}
|
|
1399
1403
|
}
|
|
1400
|
-
}
|
|
1404
|
+
}
|
|
1401
1405
|
}
|
|
1402
1406
|
|
|
1403
1407
|
// Return boolean array in the same order as input keys
|
|
@@ -1437,11 +1441,11 @@ class S3mini {
|
|
|
1437
1441
|
): Promise<Response> {
|
|
1438
1442
|
this._log('info', `Sending ${method} request to ${url}`, `headers: ${JSON.stringify(headers)}`);
|
|
1439
1443
|
try {
|
|
1440
|
-
const res = await fetch(url, {
|
|
1444
|
+
const res = await this.fetch(url, {
|
|
1441
1445
|
method,
|
|
1442
1446
|
headers,
|
|
1443
1447
|
body: ['GET', 'HEAD'].includes(method) ? undefined : body,
|
|
1444
|
-
signal: this.requestAbortTimeout
|
|
1448
|
+
signal: this.requestAbortTimeout ? AbortSignal.timeout(this.requestAbortTimeout) : undefined,
|
|
1445
1449
|
});
|
|
1446
1450
|
this._log('info', `Response status: ${res.status}, tolerated: ${toleratedStatusCodes.join(',')}`);
|
|
1447
1451
|
if (res.ok || toleratedStatusCodes.includes(res.status)) {
|
package/src/consts.ts
CHANGED
|
@@ -8,7 +8,8 @@ export const DEFAULT_STREAM_CONTENT_TYPE = 'application/octet-stream';
|
|
|
8
8
|
export const XML_CONTENT_TYPE = 'application/xml';
|
|
9
9
|
export const JSON_CONTENT_TYPE = 'application/json';
|
|
10
10
|
// List of keys that might contain sensitive information
|
|
11
|
-
export const SENSITIVE_KEYS_REDACTED = ['accessKeyId', 'secretAccessKey', 'sessionToken', 'password', 'token'];
|
|
11
|
+
export const SENSITIVE_KEYS_REDACTED = new Set(['accessKeyId', 'secretAccessKey', 'sessionToken', 'password', 'token']);
|
|
12
|
+
export const IFHEADERS = new Set(['if-match', 'if-none-match', 'if-modified-since', 'if-unmodified-since']);
|
|
12
13
|
export const DEFAULT_REQUEST_SIZE_IN_BYTES = 8 * 1024 * 1024;
|
|
13
14
|
|
|
14
15
|
// Headers
|
package/src/index.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import { S3mini } from './S3.js';
|
|
4
|
-
import { sanitizeETag, runInBatches } from './utils.js';
|
|
5
|
-
|
|
6
3
|
// Export the S3 class as default export and named export
|
|
7
|
-
export { S3mini
|
|
8
|
-
export
|
|
4
|
+
export { S3mini } from './S3.js';
|
|
5
|
+
export { sanitizeETag, runInBatches } from './utils.js';
|
|
9
6
|
|
|
10
7
|
// Re-export types
|
|
11
8
|
export type {
|
package/src/types.ts
CHANGED
package/src/utils.ts
CHANGED
|
@@ -42,7 +42,7 @@ export const base64FromBuffer = (buffer: ArrayBuffer): string => {
|
|
|
42
42
|
let result = '';
|
|
43
43
|
for (let i = 0; i < bytes.length; i += chunkSize) {
|
|
44
44
|
const chunk = bytes.subarray(i, i + chunkSize);
|
|
45
|
-
result += btoa(String.
|
|
45
|
+
result += btoa(String.fromCodePoint(...chunk));
|
|
46
46
|
}
|
|
47
47
|
return result;
|
|
48
48
|
};
|
|
@@ -87,10 +87,8 @@ export const sanitizeETag = (etag: string): string => {
|
|
|
87
87
|
'"': '',
|
|
88
88
|
'"': '',
|
|
89
89
|
'"': '',
|
|
90
|
-
'"': '',
|
|
91
|
-
'"': '',
|
|
92
90
|
};
|
|
93
|
-
return etag.
|
|
91
|
+
return etag.replaceAll(/(^("|"|"))|(("|"|")$)/g, m => replaceChars[m] || '');
|
|
94
92
|
};
|
|
95
93
|
|
|
96
94
|
const entityMap = {
|
|
@@ -108,15 +106,15 @@ const entityMap = {
|
|
|
108
106
|
*/
|
|
109
107
|
export const escapeXml = (value: string): string => {
|
|
110
108
|
return value
|
|
111
|
-
.
|
|
112
|
-
.
|
|
113
|
-
.
|
|
114
|
-
.
|
|
115
|
-
.
|
|
109
|
+
.replaceAll('&', '&')
|
|
110
|
+
.replaceAll('<', '<')
|
|
111
|
+
.replaceAll('>', '>')
|
|
112
|
+
.replaceAll('"', '"')
|
|
113
|
+
.replaceAll("'", ''');
|
|
116
114
|
};
|
|
117
115
|
|
|
118
116
|
const unescapeXml = (value: string): string =>
|
|
119
|
-
value.
|
|
117
|
+
value.replaceAll(/&(quot|apos|lt|gt|amp);/g, m => entityMap[m as keyof typeof entityMap] ?? m);
|
|
120
118
|
|
|
121
119
|
/**
|
|
122
120
|
* Parse a very small subset of XML into a JS structure.
|
|
@@ -177,7 +175,7 @@ export const uriEscape = (uriStr: string): string => {
|
|
|
177
175
|
* @returns Escaped URI path
|
|
178
176
|
*/
|
|
179
177
|
export const uriResourceEscape = (string: string): string => {
|
|
180
|
-
return uriEscape(string).
|
|
178
|
+
return uriEscape(string).replaceAll('%2F', '/');
|
|
181
179
|
};
|
|
182
180
|
|
|
183
181
|
export const isListBucketResponse = (value: unknown): value is ListBucketResponse => {
|