@aws-amplify/storage 4.4.3 → 4.4.4-in-app-messaging.35
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/CHANGELOG.md +28 -352
- package/dist/aws-amplify-storage.js +6523 -5062
- package/dist/aws-amplify-storage.js.map +1 -1
- package/dist/aws-amplify-storage.min.js +5 -5
- package/dist/aws-amplify-storage.min.js.map +1 -1
- package/lib/Storage.d.ts +3 -1
- package/lib/Storage.js +25 -21
- package/lib/Storage.js.map +1 -1
- package/lib/common/S3ClientUtils.d.ts +33 -0
- package/lib/common/S3ClientUtils.js +179 -0
- package/lib/common/S3ClientUtils.js.map +1 -0
- package/lib/common/StorageConstants.d.ts +4 -0
- package/lib/common/StorageConstants.js +10 -0
- package/lib/common/StorageConstants.js.map +1 -0
- package/lib/common/StorageErrorStrings.d.ts +5 -1
- package/lib/common/StorageErrorStrings.js +5 -0
- package/lib/common/StorageErrorStrings.js.map +1 -1
- package/lib/common/StorageUtils.d.ts +4 -0
- package/lib/common/StorageUtils.js +41 -0
- package/lib/common/StorageUtils.js.map +1 -0
- package/lib/providers/AWSS3Provider.d.ts +9 -6
- package/lib/providers/AWSS3Provider.js +197 -149
- package/lib/providers/AWSS3Provider.js.map +1 -1
- package/lib/providers/AWSS3ProviderManagedUpload.d.ts +3 -10
- package/lib/providers/AWSS3ProviderManagedUpload.js +41 -109
- package/lib/providers/AWSS3ProviderManagedUpload.js.map +1 -1
- package/lib/providers/AWSS3UploadTask.d.ts +107 -0
- package/lib/providers/AWSS3UploadTask.js +610 -0
- package/lib/providers/AWSS3UploadTask.js.map +1 -0
- package/lib/providers/axios-http-handler.d.ts +5 -1
- package/lib/providers/axios-http-handler.js +28 -5
- package/lib/providers/axios-http-handler.js.map +1 -1
- package/lib/types/AWSS3Provider.d.ts +24 -4
- package/lib/types/Provider.d.ts +7 -1
- package/lib/types/Storage.d.ts +8 -8
- package/lib-esm/Storage.d.ts +3 -1
- package/lib-esm/Storage.js +25 -21
- package/lib-esm/Storage.js.map +1 -1
- package/lib-esm/common/S3ClientUtils.d.ts +33 -0
- package/lib-esm/common/S3ClientUtils.js +177 -0
- package/lib-esm/common/S3ClientUtils.js.map +1 -0
- package/lib-esm/common/StorageConstants.d.ts +4 -0
- package/lib-esm/common/StorageConstants.js +8 -0
- package/lib-esm/common/StorageConstants.js.map +1 -0
- package/lib-esm/common/StorageErrorStrings.d.ts +5 -1
- package/lib-esm/common/StorageErrorStrings.js +5 -0
- package/lib-esm/common/StorageErrorStrings.js.map +1 -1
- package/lib-esm/common/StorageUtils.d.ts +4 -0
- package/lib-esm/common/StorageUtils.js +39 -0
- package/lib-esm/common/StorageUtils.js.map +1 -0
- package/lib-esm/providers/AWSS3Provider.d.ts +9 -6
- package/lib-esm/providers/AWSS3Provider.js +192 -144
- package/lib-esm/providers/AWSS3Provider.js.map +1 -1
- package/lib-esm/providers/AWSS3ProviderManagedUpload.d.ts +3 -10
- package/lib-esm/providers/AWSS3ProviderManagedUpload.js +44 -112
- package/lib-esm/providers/AWSS3ProviderManagedUpload.js.map +1 -1
- package/lib-esm/providers/AWSS3UploadTask.d.ts +107 -0
- package/lib-esm/providers/AWSS3UploadTask.js +605 -0
- package/lib-esm/providers/AWSS3UploadTask.js.map +1 -0
- package/lib-esm/providers/axios-http-handler.d.ts +5 -1
- package/lib-esm/providers/axios-http-handler.js +28 -5
- package/lib-esm/providers/axios-http-handler.js.map +1 -1
- package/lib-esm/types/AWSS3Provider.d.ts +24 -4
- package/lib-esm/types/Provider.d.ts +7 -1
- package/lib-esm/types/Storage.d.ts +8 -8
- package/package.json +3 -3
- package/src/Storage.ts +85 -27
- package/src/common/S3ClientUtils.ts +168 -0
- package/src/common/StorageConstants.ts +10 -0
- package/src/common/StorageErrorStrings.ts +5 -0
- package/src/common/StorageUtils.ts +51 -0
- package/src/providers/AWSS3Provider.ts +251 -88
- package/src/providers/AWSS3ProviderManagedUpload.ts +346 -397
- package/src/providers/AWSS3UploadTask.ts +543 -0
- package/src/providers/axios-http-handler.ts +221 -186
- package/src/types/AWSS3Provider.ts +48 -7
- package/src/types/Provider.ts +18 -3
- package/src/types/Storage.ts +9 -9
|
@@ -46,6 +46,7 @@ var protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
|
46
46
|
var querystring_builder_1 = require("@aws-sdk/querystring-builder");
|
|
47
47
|
var axios_1 = __importDefault(require("axios"));
|
|
48
48
|
var core_1 = require("@aws-amplify/core");
|
|
49
|
+
var StorageErrorStrings_1 = require("../common/StorageErrorStrings");
|
|
49
50
|
var logger = new core_1.ConsoleLogger('axios-http-handler');
|
|
50
51
|
exports.SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress';
|
|
51
52
|
exports.SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';
|
|
@@ -96,7 +97,9 @@ var AxiosHttpHandler = /** @class */ (function () {
|
|
|
96
97
|
};
|
|
97
98
|
AxiosHttpHandler.prototype.handle = function (request, options) {
|
|
98
99
|
var requestTimeoutInMs = this.httpOptions.requestTimeout;
|
|
99
|
-
|
|
100
|
+
// prioritize the call specific event emitter, this is useful for multipart upload as each individual parts has
|
|
101
|
+
// their own event emitter, without having to create s3client for every individual calls.
|
|
102
|
+
var emitter = options.emitter || this.emitter;
|
|
100
103
|
var path = request.path;
|
|
101
104
|
if (request.query) {
|
|
102
105
|
var queryString = querystring_builder_1.buildQueryString(request.query);
|
|
@@ -130,7 +133,7 @@ var AxiosHttpHandler = /** @class */ (function () {
|
|
|
130
133
|
// This change is a workaround to set the data as null (instead of undefined) to prevent axios from
|
|
131
134
|
// removing the content-type header. Link for the source code
|
|
132
135
|
// https://github.com/axios/axios/blob/dc4bc49673943e35280e5df831f5c3d0347a9393/lib/adapters/xhr.js#L121-L123
|
|
133
|
-
if (axiosRequest.headers['
|
|
136
|
+
if (axiosRequest.headers[Object.keys(axiosRequest.headers).find(function (key) { return key.toLowerCase() === 'content-type'; })]) {
|
|
134
137
|
axiosRequest.data = null;
|
|
135
138
|
}
|
|
136
139
|
}
|
|
@@ -148,10 +151,13 @@ var AxiosHttpHandler = /** @class */ (function () {
|
|
|
148
151
|
if (this.cancelTokenSource) {
|
|
149
152
|
axiosRequest.cancelToken = this.cancelTokenSource.token;
|
|
150
153
|
}
|
|
154
|
+
if (options.cancelTokenSource) {
|
|
155
|
+
axiosRequest.cancelToken = options.cancelTokenSource.token;
|
|
156
|
+
}
|
|
151
157
|
// From gamma release, aws-sdk now expects all response type to be of blob or streams
|
|
152
158
|
axiosRequest.responseType = 'blob';
|
|
153
159
|
// In Axios, Blobs are identified by calling Object.prototype.toString on the object. However, on React Native,
|
|
154
|
-
// calling Object.prototype.toString on a Blob returns '[object Object]' instead of '[object Blob]', which causes
|
|
160
|
+
// calling Object.prototype.toString on a Blob returns '[object Object]' instead of '[object Blob]', which causes
|
|
155
161
|
// Axios to treat Blobs as generic Javascript objects. Therefore we need a to use a custom request transformer
|
|
156
162
|
// to correctly handle Blob in React Native.
|
|
157
163
|
if (core_1.Platform.isReactNative) {
|
|
@@ -170,9 +176,26 @@ var AxiosHttpHandler = /** @class */ (function () {
|
|
|
170
176
|
};
|
|
171
177
|
})
|
|
172
178
|
.catch(function (error) {
|
|
179
|
+
var _a, _b, _c;
|
|
173
180
|
// Error
|
|
174
|
-
|
|
175
|
-
|
|
181
|
+
if (error.message !==
|
|
182
|
+
StorageErrorStrings_1.AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE) {
|
|
183
|
+
logger.error(error.message);
|
|
184
|
+
}
|
|
185
|
+
// for axios' cancel error, we should re-throw it back so it's not considered an s3client error
|
|
186
|
+
// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line
|
|
187
|
+
if (axios_1.default.isCancel(error)) {
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
190
|
+
// otherwise, we should re-construct an HttpResponse from the error, so that it can be passed down to other
|
|
191
|
+
// aws sdk middleware (e.g retry, clock skew correction, error message serializing)
|
|
192
|
+
return {
|
|
193
|
+
response: new protocol_http_1.HttpResponse({
|
|
194
|
+
statusCode: (_a = error.response) === null || _a === void 0 ? void 0 : _a.status,
|
|
195
|
+
body: (_b = error.response) === null || _b === void 0 ? void 0 : _b.data,
|
|
196
|
+
headers: (_c = error.response) === null || _c === void 0 ? void 0 : _c.headers,
|
|
197
|
+
}),
|
|
198
|
+
};
|
|
176
199
|
}),
|
|
177
200
|
requestTimeout(requestTimeoutInMs),
|
|
178
201
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-http-handler.js","sourceRoot":"","sources":["../../src/providers/axios-http-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,wDAAgF;AAChF,oEAAgE;AAChE,gDAKe;AACf,0CAAsE;
|
|
1
|
+
{"version":3,"file":"axios-http-handler.js","sourceRoot":"","sources":["../../src/providers/axios-http-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,wDAAgF;AAChF,oEAAgE;AAChE,gDAKe;AACf,0CAAsE;AAGtE,qEAAgF;AAEhF,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,oBAAoB,CAAC,CAAC;AACnC,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,4BAA4B,GAAG,sBAAsB,CAAC;AAEnE,SAAS,MAAM,CAAC,IAAS;IACxB,OAAO,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,CAAC;AAC5D,CAAC;AAED,IAAM,gBAAgB,GAAG,UACxB,OAA+B,EAC/B,cAAsB;;;QAEtB,KAAqB,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,gBAAA,4BAAE;YAAnC,IAAA,wBAAM,EAAL,SAAC,EAAE,SAAC;YACf,IACC,CAAC,KAAK,cAAc;gBACpB,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,EAC/C;gBACD,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;aAClB;SACD;;;;;;;;;AACF,CAAC,CAAC;AAEW,QAAA,6BAA6B,GAAuB;IAChE,UAAS,IAAI,EAAE,OAAO;QACrB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YACjB,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC1C,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;SACZ;QACD,8CAA8C;QAC9C,OAAO,eAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACD,CAAC;AAOF;IACC,0BACkB,WAAyC,EACzC,OAA6B,EAC7B,iBAAqC;QAFrC,4BAAA,EAAA,gBAAyC;QAAzC,gBAAW,GAAX,WAAW,CAA8B;QACzC,YAAO,GAAP,OAAO,CAAsB;QAC7B,sBAAiB,GAAjB,iBAAiB,CAAoB;IACpD,CAAC;IAEJ,kCAAO,GAAP;QACC,kEAAkE;QAClE,WAAW;IACZ,CAAC;IAED,iCAAM,GAAN,UACC,OAAoB,EACpB,OAAgC;QAEhC,IAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QAC3D,+GAA+G;QAC/G,yFAAyF;QACzF,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAEhD,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,IAAI,OAAO,CAAC,KAAK,EAAE;YAClB,IAAM,WAAW,GAAG,sCAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE;gBAChB,IAAI,IAAI,MAAI,WAAa,CAAC;aAC1B;SACD;QAED,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAM,GAAG,GAAM,OAAO,CAAC,QAAQ,UAAK,OAAO,CAAC,QAAQ,IACnD,IAAI,CAAC,CAAC,CAAC,MAAI,IAAM,CAAC,CAAC,CAAC,EAAE,IACpB,IAAM,CAAC;QAEV,IAAM,YAAY,GAAuB,EAAE,CAAC;QAC5C,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;QACvB,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAC;QAC/C,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEvC,wFAAwF;QACxF,sFAAsF;QACtF,mFAAmF;QACnF,kFAAkF;QAClF,uDAAuD;QACvD,iFAAiF;QACjF,uFAAuF;QACvF,wFAAwF;QACxF,mDAAmD;QACnD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,IAAI,EAAE;YACjB,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SACjC;aAAM;YACN,gEAAgE;YAEhE,kGAAkG;YAClG,kHAAkH;YAClH,mGAAmG;YACnG,6DAA6D;YAC7D,6GAA6G;YAE7G,IACC,YAAY,CAAC,OAAO,CACnB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CACrC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,WAAW,EAAE,KAAK,cAAc,EAApC,CAAoC,CAC3C,CACD,EACA;gBACD,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;aACzB;SACD;QACD,IAAI,OAAO,EAAE;YACZ,YAAY,CAAC,gBAAgB,GAAG,UAAS,KAAK;gBAC7C,OAAO,CAAC,IAAI,CAAC,kCAA0B,EAAE,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC;YACF,YAAY,CAAC,kBAAkB,GAAG,UAAS,KAAK;gBAC/C,OAAO,CAAC,IAAI,CAAC,oCAA4B,EAAE,KAAK,CAAC,CAAC;gBAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC;SACF;QACD,uGAAuG;QACvG,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SACxD;QAED,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC9B,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC3D;QAED,qFAAqF;QACrF,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC;QACnC,+GAA+G;QAC/G,iHAAiH;QACjH,8GAA8G;QAC9G,4CAA4C;QAC5C,IAAI,eAAQ,CAAC,aAAa,EAAE;YAC3B,YAAY,CAAC,gBAAgB,GAAG,qCAA6B,CAAC;SAC9D;QAED,IAAM,cAAc,GAAG;YACtB,eAAK;iBACH,OAAO,CAAC,YAAY,CAAC;iBACrB,IAAI,CAAC,UAAA,QAAQ;gBACb,OAAO;oBACN,QAAQ,EAAE,IAAI,4BAAY,CAAC;wBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,UAAU,EAAE,QAAQ,CAAC,MAAM;wBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACnB,CAAC;iBACF,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,UAAA,KAAK;;gBACX,QAAQ;gBACR,IACC,KAAK,CAAC,OAAO;oBACb,qDAA+B,CAAC,qBAAqB,EACpD;oBACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBAC5B;gBACD,+FAA+F;gBAC/F,gGAAgG;gBAChG,IAAI,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC1B,MAAM,KAAK,CAAC;iBACZ;gBACD,2GAA2G;gBAC3G,mFAAmF;gBACnF,OAAO;oBACN,QAAQ,EAAE,IAAI,4BAAY,CAAC;wBAC1B,UAAU,QAAE,KAAK,CAAC,QAAQ,0CAAE,MAAM;wBAClC,IAAI,QAAE,KAAK,CAAC,QAAQ,0CAAE,IAAI;wBAC1B,OAAO,QAAE,KAAK,CAAC,QAAQ,0CAAE,OAAO;qBAChC,CAAC;iBACF,CAAC;YACH,CAAC,CAAC;YACH,cAAc,CAAC,kBAAkB,CAAC;SAClC,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IACF,uBAAC;AAAD,CAAC,AA3ID,IA2IC;AA3IY,4CAAgB;AA6I7B,SAAS,cAAc,CAAC,WAAuB;IAAvB,4BAAA,EAAA,eAAuB;IAC9C,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAClC,IAAI,WAAW,EAAE;YAChB,UAAU,CAAC;gBACV,IAAM,YAAY,GAAG,IAAI,KAAK,CAC7B,qCAAmC,WAAW,QAAK,CACnD,CAAC;gBACF,YAAY,CAAC,IAAI,GAAG,cAAc,CAAC;gBACnC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtB,CAAC,EAAE,WAAW,CAAC,CAAC;SAChB;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { GetObjectRequest, GetObjectCommandOutput, PutObjectRequest, CopyObjectRequest, _Object, DeleteObjectCommandOutput } from '@aws-sdk/client-s3';
|
|
2
2
|
import { StorageOptions, StorageAccessLevel } from './Storage';
|
|
3
|
+
import { UploadTaskCompleteEvent, UploadTaskProgressEvent } from '../providers/AWSS3UploadTask';
|
|
4
|
+
import { UploadTask } from './Provider';
|
|
3
5
|
declare type ListObjectsCommandOutputContent = _Object;
|
|
6
|
+
export interface FileMetadata {
|
|
7
|
+
bucket: string;
|
|
8
|
+
fileName: string;
|
|
9
|
+
key: string;
|
|
10
|
+
lastTouched: number;
|
|
11
|
+
uploadId: string;
|
|
12
|
+
}
|
|
4
13
|
export declare type CommonStorageOptions = Omit<StorageOptions, 'credentials' | 'region' | 'bucket' | 'dangerouslyConnectToHttpEndpointForTesting'>;
|
|
5
14
|
export declare type S3ProviderGetConfig = CommonStorageOptions & {
|
|
6
15
|
download?: boolean;
|
|
@@ -21,7 +30,7 @@ export declare type S3ProviderGetConfig = CommonStorageOptions & {
|
|
|
21
30
|
export declare type S3ProviderGetOuput<T> = T extends {
|
|
22
31
|
download: true;
|
|
23
32
|
} ? GetObjectCommandOutput : string;
|
|
24
|
-
|
|
33
|
+
declare type _S3ProviderPutConfig = {
|
|
25
34
|
progressCallback?: (progress: any) => any;
|
|
26
35
|
provider?: 'AWSS3';
|
|
27
36
|
track?: boolean;
|
|
@@ -40,10 +49,15 @@ export declare type S3ProviderPutConfig = CommonStorageOptions & {
|
|
|
40
49
|
metadata?: PutObjectRequest['Metadata'];
|
|
41
50
|
tagging?: PutObjectRequest['Tagging'];
|
|
42
51
|
useAccelerateEndpoint?: boolean;
|
|
52
|
+
resumable?: boolean;
|
|
43
53
|
};
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
export declare type ResumableUploadConfig = {
|
|
55
|
+
resumable: true;
|
|
56
|
+
progressCallback?: (progress: UploadTaskProgressEvent) => any;
|
|
57
|
+
completeCallback?: (event: UploadTaskCompleteEvent) => any;
|
|
58
|
+
errorCallback?: (err: any) => any;
|
|
59
|
+
};
|
|
60
|
+
export declare type S3ProviderPutConfig = CommonStorageOptions & (_S3ProviderPutConfig | (_S3ProviderPutConfig & ResumableUploadConfig));
|
|
47
61
|
export declare type S3ProviderRemoveConfig = CommonStorageOptions & {
|
|
48
62
|
bucket?: string;
|
|
49
63
|
provider?: 'AWSS3';
|
|
@@ -89,4 +103,10 @@ export declare type S3ProviderCopyConfig = Omit<CommonStorageOptions, 'level'> &
|
|
|
89
103
|
export declare type S3ProviderCopyOutput = {
|
|
90
104
|
key: string;
|
|
91
105
|
};
|
|
106
|
+
export declare type PutResult = {
|
|
107
|
+
key: string;
|
|
108
|
+
};
|
|
109
|
+
export declare type S3ProviderPutOutput<T> = T extends {
|
|
110
|
+
resumable: true;
|
|
111
|
+
} ? UploadTask : Promise<PutResult>;
|
|
92
112
|
export {};
|
package/lib/types/Provider.d.ts
CHANGED
|
@@ -4,12 +4,18 @@ export interface StorageProvider {
|
|
|
4
4
|
copy?(src: StorageCopySource, dest: StorageCopyDestination, config?: any): Promise<any>;
|
|
5
5
|
configure(config: object): object;
|
|
6
6
|
get(key: string, options?: any): Promise<string | Object>;
|
|
7
|
-
put(key: string, object: any, options?: any): Promise<Object
|
|
7
|
+
put(key: string, object: any, options?: any): Promise<Object> | UploadTask;
|
|
8
8
|
remove(key: string, options?: any): Promise<any>;
|
|
9
9
|
list(path: any, options?: any): Promise<any>;
|
|
10
10
|
getCategory(): string;
|
|
11
11
|
getProviderName(): string;
|
|
12
12
|
}
|
|
13
|
+
export interface UploadTask {
|
|
14
|
+
resume(): any;
|
|
15
|
+
pause(): any;
|
|
16
|
+
percent: number;
|
|
17
|
+
isInProgress: boolean;
|
|
18
|
+
}
|
|
13
19
|
export interface StorageProviderWithCopy extends StorageProvider {
|
|
14
20
|
copy(src: StorageCopySource, dest: StorageCopyDestination, config?: any): Promise<any>;
|
|
15
21
|
}
|
package/lib/types/Storage.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Storage instance options
|
|
3
3
|
*/
|
|
4
4
|
import { ICredentials } from '@aws-amplify/core';
|
|
5
|
-
import { StorageProvider, StorageProviderApi, AWSS3Provider, StorageProviderWithCopy, S3ProviderGetOuput,
|
|
5
|
+
import { StorageProvider, StorageProviderApi, AWSS3Provider, StorageProviderWithCopy, S3ProviderGetOuput, S3ProviderRemoveOutput, S3ProviderListOutput, S3ProviderCopyOutput, S3ProviderPutOutput } from '../';
|
|
6
6
|
declare type Tail<T extends any[]> = ((...t: T) => void) extends (h: any, ...r: infer R) => void ? R : never;
|
|
7
7
|
declare type Last<T extends any[]> = T[Exclude<keyof T, keyof Tail<T>>];
|
|
8
8
|
declare type LastParameter<F extends (...args: any) => any> = Last<Parameters<F>>;
|
|
@@ -55,16 +55,16 @@ export declare type StorageCopyConfig<T> = T extends StorageProviderWithCopy ? S
|
|
|
55
55
|
* return type.
|
|
56
56
|
* If it's a Record, check if provider is 'AWSS3', use the default type else use any.
|
|
57
57
|
*/
|
|
58
|
-
declare type PickProviderOutput<DefaultOutput, T, api extends StorageProviderApi> = T extends StorageProvider ? T['getProviderName'] extends 'AWSS3' ?
|
|
58
|
+
declare type PickProviderOutput<DefaultOutput, T, api extends StorageProviderApi> = T extends StorageProvider ? T['getProviderName'] extends 'AWSS3' ? DefaultOutput : T extends StorageProviderWithCopy ? ReturnType<T[api]> : ReturnType<T[Exclude<api, 'copy'>]> : T extends {
|
|
59
59
|
provider: string;
|
|
60
60
|
} ? T extends {
|
|
61
61
|
provider: 'AWSS3';
|
|
62
|
-
} ?
|
|
63
|
-
export declare type StorageGetOutput<T extends StorageProvider | Record<string, any>> = PickProviderOutput<S3ProviderGetOuput<T
|
|
64
|
-
export declare type StoragePutOutput<T> = PickProviderOutput<S3ProviderPutOutput
|
|
65
|
-
export declare type StorageRemoveOutput<T> = PickProviderOutput<S3ProviderRemoveOutput
|
|
66
|
-
export declare type StorageListOutput<T> = PickProviderOutput<S3ProviderListOutput
|
|
67
|
-
export declare type StorageCopyOutput<T> = PickProviderOutput<S3ProviderCopyOutput
|
|
62
|
+
} ? DefaultOutput : Promise<any> : DefaultOutput;
|
|
63
|
+
export declare type StorageGetOutput<T extends StorageProvider | Record<string, any>> = PickProviderOutput<Promise<S3ProviderGetOuput<T>>, T, 'get'>;
|
|
64
|
+
export declare type StoragePutOutput<T> = PickProviderOutput<S3ProviderPutOutput<T>, T, 'put'>;
|
|
65
|
+
export declare type StorageRemoveOutput<T> = PickProviderOutput<Promise<S3ProviderRemoveOutput>, T, 'remove'>;
|
|
66
|
+
export declare type StorageListOutput<T> = PickProviderOutput<Promise<S3ProviderListOutput>, T, 'list'>;
|
|
67
|
+
export declare type StorageCopyOutput<T> = PickProviderOutput<Promise<S3ProviderCopyOutput>, T, 'copy'>;
|
|
68
68
|
/**
|
|
69
69
|
* Utility type to allow custom provider to use any config keys, if provider is set to AWSS3 then it should use
|
|
70
70
|
* AWSS3Provider's config.
|
package/lib-esm/Storage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StorageCopySource, StorageCopyDestination, StorageGetConfig, StorageProvider, StoragePutConfig, StorageRemoveConfig, StorageListConfig, StorageCopyConfig, StorageGetOutput, StoragePutOutput, StorageRemoveOutput, StorageListOutput, StorageCopyOutput } from './types';
|
|
1
|
+
import { StorageCopySource, StorageCopyDestination, StorageGetConfig, StorageProvider, StoragePutConfig, StorageRemoveConfig, StorageListConfig, StorageCopyConfig, StorageGetOutput, StoragePutOutput, StorageRemoveOutput, StorageListOutput, StorageCopyOutput, UploadTask } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Provide storage methods to use AWS S3
|
|
4
4
|
*/
|
|
@@ -48,12 +48,14 @@ export declare class Storage {
|
|
|
48
48
|
configure(config?: any): any;
|
|
49
49
|
private getCancellableTokenSource;
|
|
50
50
|
private updateRequestToBeCancellable;
|
|
51
|
+
private isUploadTask;
|
|
51
52
|
/**
|
|
52
53
|
* Cancels an inflight request
|
|
53
54
|
*
|
|
54
55
|
* @param request - The request to cancel
|
|
55
56
|
* @param [message] - A message to include in the cancelation exception
|
|
56
57
|
*/
|
|
58
|
+
cancel(request: UploadTask, message?: string): Promise<boolean>;
|
|
57
59
|
cancel(request: Promise<any>, message?: string): void;
|
|
58
60
|
/**
|
|
59
61
|
* Copies a file from src to dest.
|
package/lib-esm/Storage.js
CHANGED
|
@@ -40,6 +40,7 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
40
40
|
import { ConsoleLogger as Logger, Parser } from '@aws-amplify/core';
|
|
41
41
|
import { AWSS3Provider } from './providers';
|
|
42
42
|
import axios from 'axios';
|
|
43
|
+
import { AWSS3UploadTask } from './providers/AWSS3UploadTask';
|
|
43
44
|
var logger = new Logger('StorageClass');
|
|
44
45
|
var DEFAULT_PROVIDER = 'AWSS3';
|
|
45
46
|
/**
|
|
@@ -120,8 +121,12 @@ var Storage = /** @class */ (function () {
|
|
|
120
121
|
'SSECustomerKeyMD5',
|
|
121
122
|
'SSEKMSKeyId',
|
|
122
123
|
];
|
|
123
|
-
var isInStorageArrayKeys = function (k) {
|
|
124
|
-
|
|
124
|
+
var isInStorageArrayKeys = function (k) {
|
|
125
|
+
return storageArrayKeys.some(function (x) { return x === k; });
|
|
126
|
+
};
|
|
127
|
+
var checkConfigKeysFromArray = function (k) {
|
|
128
|
+
return k.find(function (k) { return isInStorageArrayKeys(k); });
|
|
129
|
+
};
|
|
125
130
|
if (storageKeysFromConfig &&
|
|
126
131
|
checkConfigKeysFromArray(storageKeysFromConfig) &&
|
|
127
132
|
!amplifyConfig.Storage[DEFAULT_PROVIDER]) {
|
|
@@ -154,13 +159,15 @@ var Storage = /** @class */ (function () {
|
|
|
154
159
|
Storage.prototype.updateRequestToBeCancellable = function (request, cancelTokenSource) {
|
|
155
160
|
this._cancelTokenSourceMap.set(request, cancelTokenSource);
|
|
156
161
|
};
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
*/
|
|
162
|
+
Storage.prototype.isUploadTask = function (x) {
|
|
163
|
+
return (typeof x !== 'undefined' &&
|
|
164
|
+
typeof x['pause'] === 'function' &&
|
|
165
|
+
typeof x['resume'] === 'function');
|
|
166
|
+
};
|
|
163
167
|
Storage.prototype.cancel = function (request, message) {
|
|
168
|
+
if (request instanceof AWSS3UploadTask) {
|
|
169
|
+
return request._cancel();
|
|
170
|
+
}
|
|
164
171
|
var cancelTokenSource = this._cancelTokenSourceMap.get(request);
|
|
165
172
|
if (cancelTokenSource) {
|
|
166
173
|
cancelTokenSource.cancel(message);
|
|
@@ -170,8 +177,7 @@ var Storage = /** @class */ (function () {
|
|
|
170
177
|
}
|
|
171
178
|
};
|
|
172
179
|
Storage.prototype.copy = function (src, dest, config) {
|
|
173
|
-
var
|
|
174
|
-
var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
|
|
180
|
+
var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
|
|
175
181
|
var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });
|
|
176
182
|
if (prov === undefined) {
|
|
177
183
|
logger.debug('No plugin found with providerName', provider);
|
|
@@ -186,8 +192,7 @@ var Storage = /** @class */ (function () {
|
|
|
186
192
|
return responsePromise;
|
|
187
193
|
};
|
|
188
194
|
Storage.prototype.get = function (key, config) {
|
|
189
|
-
var
|
|
190
|
-
var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
|
|
195
|
+
var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
|
|
191
196
|
var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });
|
|
192
197
|
if (prov === undefined) {
|
|
193
198
|
logger.debug('No plugin found with providerName', provider);
|
|
@@ -202,21 +207,21 @@ var Storage = /** @class */ (function () {
|
|
|
202
207
|
return axios.isCancel(error);
|
|
203
208
|
};
|
|
204
209
|
Storage.prototype.put = function (key, object, config) {
|
|
205
|
-
var
|
|
206
|
-
var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
|
|
210
|
+
var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
|
|
207
211
|
var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });
|
|
208
212
|
if (prov === undefined) {
|
|
209
213
|
logger.debug('No plugin found with providerName', provider);
|
|
210
214
|
return Promise.reject('No plugin found in Storage for the provider');
|
|
211
215
|
}
|
|
212
216
|
var cancelTokenSource = this.getCancellableTokenSource();
|
|
213
|
-
var
|
|
214
|
-
this.
|
|
215
|
-
|
|
217
|
+
var response = prov.put(key, object, __assign(__assign({}, config), { cancelTokenSource: cancelTokenSource }));
|
|
218
|
+
if (!this.isUploadTask(response)) {
|
|
219
|
+
this.updateRequestToBeCancellable(response, cancelTokenSource);
|
|
220
|
+
}
|
|
221
|
+
return response;
|
|
216
222
|
};
|
|
217
223
|
Storage.prototype.remove = function (key, config) {
|
|
218
|
-
var
|
|
219
|
-
var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
|
|
224
|
+
var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
|
|
220
225
|
var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });
|
|
221
226
|
if (prov === undefined) {
|
|
222
227
|
logger.debug('No plugin found with providerName', provider);
|
|
@@ -225,8 +230,7 @@ var Storage = /** @class */ (function () {
|
|
|
225
230
|
return prov.remove(key, config);
|
|
226
231
|
};
|
|
227
232
|
Storage.prototype.list = function (path, config) {
|
|
228
|
-
var
|
|
229
|
-
var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
|
|
233
|
+
var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
|
|
230
234
|
var prov = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });
|
|
231
235
|
if (prov === undefined) {
|
|
232
236
|
logger.debug('No plugin found with providerName', provider);
|
package/lib-esm/Storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ICredentials } from '@aws-amplify/core';
|
|
3
|
+
import { StorageAccessLevel, CustomPrefix } from '../types';
|
|
4
|
+
import { InitializeMiddleware, InitializeHandlerOptions, FinalizeRequestHandlerOptions, FinalizeRequestMiddleware } from '@aws-sdk/types';
|
|
5
|
+
import { S3ClientConfig, S3Client } from '@aws-sdk/client-s3';
|
|
6
|
+
import { CancelTokenSource } from 'axios';
|
|
7
|
+
import * as events from 'events';
|
|
8
|
+
export declare const getPrefix: (config: {
|
|
9
|
+
credentials: ICredentials;
|
|
10
|
+
level?: StorageAccessLevel;
|
|
11
|
+
customPrefix?: CustomPrefix;
|
|
12
|
+
identityId?: string;
|
|
13
|
+
}) => string;
|
|
14
|
+
export declare const createPrefixMiddleware: (opt: Record<string, any>, key: string) => InitializeMiddleware<any, any>;
|
|
15
|
+
export declare const autoAdjustClockskewMiddleware: (config: S3ClientConfig) => FinalizeRequestMiddleware<any, any>;
|
|
16
|
+
export declare const autoAdjustClockskewMiddlewareOptions: FinalizeRequestHandlerOptions;
|
|
17
|
+
export declare const prefixMiddlewareOptions: InitializeHandlerOptions;
|
|
18
|
+
export declare const credentialsProvider: () => Promise<{
|
|
19
|
+
accessKeyId: any;
|
|
20
|
+
sessionToken: any;
|
|
21
|
+
secretAccessKey: any;
|
|
22
|
+
identityId: any;
|
|
23
|
+
authenticated: any;
|
|
24
|
+
} | {
|
|
25
|
+
accessKeyId: string;
|
|
26
|
+
secretAccessKey: string;
|
|
27
|
+
}>;
|
|
28
|
+
export declare const createS3Client: (config: {
|
|
29
|
+
region?: string;
|
|
30
|
+
cancelTokenSource?: CancelTokenSource;
|
|
31
|
+
dangerouslyConnectToHttpEndpointForTesting?: boolean;
|
|
32
|
+
useAccelerateEndpoint?: boolean;
|
|
33
|
+
}, emitter?: events.EventEmitter) => S3Client;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (_) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import { Credentials, Logger, getAmplifyUserAgent, } from '@aws-amplify/core';
|
|
49
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
50
|
+
import { AxiosHttpHandler } from '../providers/axios-http-handler';
|
|
51
|
+
import { localTestingStorageEndpoint, SET_CONTENT_LENGTH_HEADER, } from './StorageConstants';
|
|
52
|
+
var logger = new Logger('S3ClientUtils');
|
|
53
|
+
// placeholder credentials in order to satisfy type requirement, always results in 403 when used
|
|
54
|
+
var INVALID_CRED = { accessKeyId: '', secretAccessKey: '' };
|
|
55
|
+
export var getPrefix = function (config) {
|
|
56
|
+
var credentials = config.credentials, level = config.level, customPrefix = config.customPrefix, identityId = config.identityId;
|
|
57
|
+
var resolvedCustomPrefix = customPrefix || {};
|
|
58
|
+
var resolvedIdentityId = identityId || credentials.identityId;
|
|
59
|
+
var privatePath = (resolvedCustomPrefix.private !== undefined
|
|
60
|
+
? resolvedCustomPrefix.private
|
|
61
|
+
: 'private/') +
|
|
62
|
+
resolvedIdentityId +
|
|
63
|
+
'/';
|
|
64
|
+
var protectedPath = (resolvedCustomPrefix.protected !== undefined
|
|
65
|
+
? resolvedCustomPrefix.protected
|
|
66
|
+
: 'protected/') +
|
|
67
|
+
resolvedIdentityId +
|
|
68
|
+
'/';
|
|
69
|
+
var publicPath = resolvedCustomPrefix.public !== undefined
|
|
70
|
+
? resolvedCustomPrefix.public
|
|
71
|
+
: 'public/';
|
|
72
|
+
switch (level) {
|
|
73
|
+
case 'private':
|
|
74
|
+
return privatePath;
|
|
75
|
+
case 'protected':
|
|
76
|
+
return protectedPath;
|
|
77
|
+
default:
|
|
78
|
+
return publicPath;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
export var createPrefixMiddleware = function (opt, key) { return function (next, _context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
82
|
+
var credentials, cred, prefix, clonedInput, result;
|
|
83
|
+
return __generator(this, function (_a) {
|
|
84
|
+
switch (_a.label) {
|
|
85
|
+
case 0: return [4 /*yield*/, Credentials.get()];
|
|
86
|
+
case 1:
|
|
87
|
+
credentials = _a.sent();
|
|
88
|
+
cred = Credentials.shear(credentials);
|
|
89
|
+
prefix = getPrefix(__assign(__assign({}, opt), { credentials: cred }));
|
|
90
|
+
clonedInput = Object.assign({}, args.input);
|
|
91
|
+
if (Object.prototype.hasOwnProperty.call(args.input, 'Key')) {
|
|
92
|
+
clonedInput.Key = prefix + key;
|
|
93
|
+
args.input = clonedInput;
|
|
94
|
+
}
|
|
95
|
+
else if (Object.prototype.hasOwnProperty.call(args.input, 'Prefix')) {
|
|
96
|
+
clonedInput.Prefix = prefix + key;
|
|
97
|
+
args.input = clonedInput;
|
|
98
|
+
}
|
|
99
|
+
result = next(args);
|
|
100
|
+
return [2 /*return*/, result];
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}); }; }; };
|
|
104
|
+
var isTimeSkewedError = function (err) {
|
|
105
|
+
return err.ServerTime &&
|
|
106
|
+
typeof err.Code === 'string' &&
|
|
107
|
+
err.Code === 'RequestTimeTooSkewed';
|
|
108
|
+
};
|
|
109
|
+
// we want to take the S3Client config in parameter so we can modify it's systemClockOffset
|
|
110
|
+
export var autoAdjustClockskewMiddleware = function (config) { return function (next, _context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
111
|
+
var err_1, serverDate;
|
|
112
|
+
return __generator(this, function (_a) {
|
|
113
|
+
switch (_a.label) {
|
|
114
|
+
case 0:
|
|
115
|
+
_a.trys.push([0, 2, , 3]);
|
|
116
|
+
return [4 /*yield*/, next(args)];
|
|
117
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
118
|
+
case 2:
|
|
119
|
+
err_1 = _a.sent();
|
|
120
|
+
if (isTimeSkewedError(err_1)) {
|
|
121
|
+
serverDate = new Date(err_1.ServerTime);
|
|
122
|
+
config.systemClockOffset = serverDate.getTime() - Date.now();
|
|
123
|
+
}
|
|
124
|
+
throw err_1;
|
|
125
|
+
case 3: return [2 /*return*/];
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}); }; }; };
|
|
129
|
+
export var autoAdjustClockskewMiddlewareOptions = {
|
|
130
|
+
step: 'finalizeRequest',
|
|
131
|
+
name: 'autoAdjustClockskewMiddleware',
|
|
132
|
+
};
|
|
133
|
+
export var prefixMiddlewareOptions = {
|
|
134
|
+
step: 'initialize',
|
|
135
|
+
name: 'addPrefixMiddleware',
|
|
136
|
+
};
|
|
137
|
+
export var credentialsProvider = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
138
|
+
var credentials, cred, error_1;
|
|
139
|
+
return __generator(this, function (_a) {
|
|
140
|
+
switch (_a.label) {
|
|
141
|
+
case 0:
|
|
142
|
+
_a.trys.push([0, 2, , 3]);
|
|
143
|
+
return [4 /*yield*/, Credentials.get()];
|
|
144
|
+
case 1:
|
|
145
|
+
credentials = _a.sent();
|
|
146
|
+
if (!credentials)
|
|
147
|
+
return [2 /*return*/, INVALID_CRED];
|
|
148
|
+
cred = Credentials.shear(credentials);
|
|
149
|
+
logger.debug('credentials provider get credentials', cred);
|
|
150
|
+
return [2 /*return*/, cred];
|
|
151
|
+
case 2:
|
|
152
|
+
error_1 = _a.sent();
|
|
153
|
+
logger.warn('credentials provider error', error_1);
|
|
154
|
+
return [2 /*return*/, INVALID_CRED];
|
|
155
|
+
case 3: return [2 /*return*/];
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}); };
|
|
159
|
+
export var createS3Client = function (config, emitter) {
|
|
160
|
+
var region = config.region, cancelTokenSource = config.cancelTokenSource, dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting, useAccelerateEndpoint = config.useAccelerateEndpoint;
|
|
161
|
+
var localTestingConfig = {};
|
|
162
|
+
if (dangerouslyConnectToHttpEndpointForTesting) {
|
|
163
|
+
localTestingConfig = {
|
|
164
|
+
endpoint: localTestingStorageEndpoint,
|
|
165
|
+
tls: false,
|
|
166
|
+
bucketEndpoint: false,
|
|
167
|
+
forcePathStyle: true,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
var s3client = new S3Client(__assign(__assign({ region: region,
|
|
171
|
+
// Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets
|
|
172
|
+
// changed or invalidated (e.g user signed out), the subsequent requests will fail.
|
|
173
|
+
credentials: credentialsProvider, customUserAgent: getAmplifyUserAgent() }, localTestingConfig), { requestHandler: new AxiosHttpHandler({}, emitter, cancelTokenSource), useAccelerateEndpoint: useAccelerateEndpoint }));
|
|
174
|
+
s3client.middlewareStack.remove(SET_CONTENT_LENGTH_HEADER);
|
|
175
|
+
return s3client;
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=S3ClientUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3ClientUtils.js","sourceRoot":"","sources":["../../src/common/S3ClientUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&
|
|
2
|
+
typeof Symbol.for === 'function'
|
|
3
|
+
? Symbol.for('amplify_default')
|
|
4
|
+
: '@@amplify_default');
|
|
5
|
+
export var SET_CONTENT_LENGTH_HEADER = 'contentLengthMiddleware';
|
|
6
|
+
export var localTestingStorageEndpoint = 'http://localhost:20005';
|
|
7
|
+
export var UPLOADS_STORAGE_KEY = '__uploadInProgress';
|
|
8
|
+
//# sourceMappingURL=StorageConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageConstants.js","sourceRoot":"","sources":["../../src/common/StorageConstants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,cAAc,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW;IAC5D,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU;IAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC,CAAC,mBAAmB,CAAW,CAAC;AAElC,MAAM,CAAC,IAAM,yBAAyB,GAAG,yBAAyB,CAAC;AAEnE,MAAM,CAAC,IAAM,2BAA2B,GAAG,wBAAwB,CAAC;AAEpE,MAAM,CAAC,IAAM,mBAAmB,GAAG,oBAAoB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export declare enum StorageErrorStrings {
|
|
2
2
|
NO_CREDENTIALS = "No credentials",
|
|
3
3
|
NO_SRC_KEY = "source param should be an object with the property \"key\" with value of type string",
|
|
4
|
-
NO_DEST_KEY = "destination param should be an object with the property \"key\" with value of type string"
|
|
4
|
+
NO_DEST_KEY = "destination param should be an object with the property \"key\" with value of type string",
|
|
5
|
+
INVALID_BLOB = "Object must be an instance of Blob"
|
|
5
6
|
}
|
|
6
7
|
export declare enum AWSS3ProviderMultipartCopierErrors {
|
|
7
8
|
CLEANUP_FAILED = "Multipart copy clean up failed",
|
|
@@ -10,3 +11,6 @@ export declare enum AWSS3ProviderMultipartCopierErrors {
|
|
|
10
11
|
NO_COPYSOURCE = "You must specify a copy source",
|
|
11
12
|
MAX_NUM_PARTS_EXCEEDED = "Only a maximum of 10000 parts are allowed"
|
|
12
13
|
}
|
|
14
|
+
export declare enum AWSS3ProviderUploadErrorStrings {
|
|
15
|
+
UPLOAD_PAUSED_MESSAGE = "paused"
|
|
16
|
+
}
|