@aws-amplify/storage 4.4.18 → 4.4.19
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 +11 -0
- package/dist/aws-amplify-storage.js +14 -6
- package/dist/aws-amplify-storage.js.map +1 -1
- package/dist/aws-amplify-storage.min.js +1 -1
- package/dist/aws-amplify-storage.min.js.map +1 -1
- package/lib/providers/axios-http-handler.d.ts +7 -0
- package/lib/providers/axios-http-handler.js +17 -6
- package/lib/providers/axios-http-handler.js.map +1 -1
- package/lib-esm/providers/axios-http-handler.d.ts +7 -0
- package/lib-esm/providers/axios-http-handler.js +17 -6
- package/lib-esm/providers/axios-http-handler.js.map +1 -1
- package/package.json +3 -3
- package/src/providers/axios-http-handler.ts +21 -3
|
@@ -6,6 +6,13 @@ import { FetchHttpHandlerOptions } from '@aws-sdk/fetch-http-handler';
|
|
|
6
6
|
import * as events from 'events';
|
|
7
7
|
export declare const SEND_UPLOAD_PROGRESS_EVENT = "sendUploadProgress";
|
|
8
8
|
export declare const SEND_DOWNLOAD_PROGRESS_EVENT = "sendDownloadProgress";
|
|
9
|
+
export declare type ErrorWithResponse = {
|
|
10
|
+
response: {
|
|
11
|
+
status: number;
|
|
12
|
+
} & {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
9
16
|
export declare const reactNativeRequestTransformer: AxiosTransformer[];
|
|
10
17
|
export declare type AxiosHttpHandlerOptions = HttpHandlerOptions & {
|
|
11
18
|
cancelTokenSource?: CancelTokenSource;
|
|
@@ -53,6 +53,13 @@ exports.SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';
|
|
|
53
53
|
function isBlob(body) {
|
|
54
54
|
return typeof Blob !== 'undefined' && body instanceof Blob;
|
|
55
55
|
}
|
|
56
|
+
function hasErrorResponse(error) {
|
|
57
|
+
return (typeof error !== 'undefined' &&
|
|
58
|
+
Object.prototype.hasOwnProperty.call(error, 'response') &&
|
|
59
|
+
typeof error.response !== 'undefined' &&
|
|
60
|
+
Object.prototype.hasOwnProperty.call(error.response, 'status') &&
|
|
61
|
+
typeof error.response.status === 'number');
|
|
62
|
+
}
|
|
56
63
|
var normalizeHeaders = function (headers, normalizedName) {
|
|
57
64
|
var e_1, _a;
|
|
58
65
|
try {
|
|
@@ -176,24 +183,28 @@ var AxiosHttpHandler = /** @class */ (function () {
|
|
|
176
183
|
};
|
|
177
184
|
})
|
|
178
185
|
.catch(function (error) {
|
|
179
|
-
var _a, _b
|
|
186
|
+
var _a, _b;
|
|
180
187
|
// Error
|
|
181
188
|
if (error.message !==
|
|
182
189
|
StorageErrorStrings_1.AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE) {
|
|
183
190
|
logger.error(error.message);
|
|
184
191
|
}
|
|
185
192
|
// 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
|
-
|
|
193
|
+
// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line.
|
|
194
|
+
//
|
|
195
|
+
// for errors that does not have a 'response' object, it's very likely that it is an unexpected error for
|
|
196
|
+
// example a disconnect. Without it we cannot meaningfully reconstruct a HttpResponse, and the AWS SDK might
|
|
197
|
+
// consider the request successful by mistake. In this case we should also re-throw the error.
|
|
198
|
+
if (axios_1.default.isCancel(error) || !hasErrorResponse(error)) {
|
|
188
199
|
throw error;
|
|
189
200
|
}
|
|
190
201
|
// otherwise, we should re-construct an HttpResponse from the error, so that it can be passed down to other
|
|
191
202
|
// aws sdk middleware (e.g retry, clock skew correction, error message serializing)
|
|
192
203
|
return {
|
|
193
204
|
response: new protocol_http_1.HttpResponse({
|
|
194
|
-
statusCode:
|
|
195
|
-
body: (
|
|
196
|
-
headers: (
|
|
205
|
+
statusCode: error.response.status,
|
|
206
|
+
body: (_a = error.response) === null || _a === void 0 ? void 0 : _a.data,
|
|
207
|
+
headers: (_b = error.response) === null || _b === void 0 ? void 0 : _b.headers,
|
|
197
208
|
}),
|
|
198
209
|
};
|
|
199
210
|
}),
|
|
@@ -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;AAGtE,qEAAgF;AAEhF,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,oBAAoB,CAAC,CAAC;AACnC,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,4BAA4B,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"axios-http-handler.js","sourceRoot":"","sources":["../../src/providers/axios-http-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,13 @@ import { FetchHttpHandlerOptions } from '@aws-sdk/fetch-http-handler';
|
|
|
6
6
|
import * as events from 'events';
|
|
7
7
|
export declare const SEND_UPLOAD_PROGRESS_EVENT = "sendUploadProgress";
|
|
8
8
|
export declare const SEND_DOWNLOAD_PROGRESS_EVENT = "sendDownloadProgress";
|
|
9
|
+
export declare type ErrorWithResponse = {
|
|
10
|
+
response: {
|
|
11
|
+
status: number;
|
|
12
|
+
} & {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
9
16
|
export declare const reactNativeRequestTransformer: AxiosTransformer[];
|
|
10
17
|
export declare type AxiosHttpHandlerOptions = HttpHandlerOptions & {
|
|
11
18
|
cancelTokenSource?: CancelTokenSource;
|
|
@@ -48,6 +48,13 @@ export var SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';
|
|
|
48
48
|
function isBlob(body) {
|
|
49
49
|
return typeof Blob !== 'undefined' && body instanceof Blob;
|
|
50
50
|
}
|
|
51
|
+
function hasErrorResponse(error) {
|
|
52
|
+
return (typeof error !== 'undefined' &&
|
|
53
|
+
Object.prototype.hasOwnProperty.call(error, 'response') &&
|
|
54
|
+
typeof error.response !== 'undefined' &&
|
|
55
|
+
Object.prototype.hasOwnProperty.call(error.response, 'status') &&
|
|
56
|
+
typeof error.response.status === 'number');
|
|
57
|
+
}
|
|
51
58
|
var normalizeHeaders = function (headers, normalizedName) {
|
|
52
59
|
var e_1, _a;
|
|
53
60
|
try {
|
|
@@ -171,24 +178,28 @@ var AxiosHttpHandler = /** @class */ (function () {
|
|
|
171
178
|
};
|
|
172
179
|
})
|
|
173
180
|
.catch(function (error) {
|
|
174
|
-
var _a, _b
|
|
181
|
+
var _a, _b;
|
|
175
182
|
// Error
|
|
176
183
|
if (error.message !==
|
|
177
184
|
AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE) {
|
|
178
185
|
logger.error(error.message);
|
|
179
186
|
}
|
|
180
187
|
// for axios' cancel error, we should re-throw it back so it's not considered an s3client error
|
|
181
|
-
// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line
|
|
182
|
-
|
|
188
|
+
// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line.
|
|
189
|
+
//
|
|
190
|
+
// for errors that does not have a 'response' object, it's very likely that it is an unexpected error for
|
|
191
|
+
// example a disconnect. Without it we cannot meaningfully reconstruct a HttpResponse, and the AWS SDK might
|
|
192
|
+
// consider the request successful by mistake. In this case we should also re-throw the error.
|
|
193
|
+
if (axios.isCancel(error) || !hasErrorResponse(error)) {
|
|
183
194
|
throw error;
|
|
184
195
|
}
|
|
185
196
|
// otherwise, we should re-construct an HttpResponse from the error, so that it can be passed down to other
|
|
186
197
|
// aws sdk middleware (e.g retry, clock skew correction, error message serializing)
|
|
187
198
|
return {
|
|
188
199
|
response: new HttpResponse({
|
|
189
|
-
statusCode:
|
|
190
|
-
body: (
|
|
191
|
-
headers: (
|
|
200
|
+
statusCode: error.response.status,
|
|
201
|
+
body: (_a = error.response) === null || _a === void 0 ? void 0 : _a.data,
|
|
202
|
+
headers: (_b = error.response) === null || _b === void 0 ? void 0 : _b.headers,
|
|
192
203
|
}),
|
|
193
204
|
};
|
|
194
205
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios-http-handler.js","sourceRoot":"","sources":["../../src/providers/axios-http-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,OAAO,EAA4B,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAChD,MAAM,CAAC,IAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAC/D,MAAM,CAAC,IAAM,4BAA4B,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"axios-http-handler.js","sourceRoot":"","sources":["../../src/providers/axios-http-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/storage",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.19",
|
|
4
4
|
"description": "Storage category of aws-amplify",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://aws-amplify.github.io/",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@aws-amplify/core": "4.
|
|
44
|
+
"@aws-amplify/core": "4.5.0",
|
|
45
45
|
"@aws-sdk/client-s3": "3.6.1",
|
|
46
46
|
"@aws-sdk/s3-request-presigner": "3.6.1",
|
|
47
47
|
"@aws-sdk/util-create-request": "3.6.1",
|
|
@@ -98,5 +98,5 @@
|
|
|
98
98
|
"devDependencies": {
|
|
99
99
|
"@types/sinon": "^7.5.1"
|
|
100
100
|
},
|
|
101
|
-
"gitHead": "
|
|
101
|
+
"gitHead": "88fa9322e9c3df523ebf52b9924dc46e7a976b53"
|
|
102
102
|
}
|
|
@@ -29,10 +29,24 @@ const logger = new Logger('axios-http-handler');
|
|
|
29
29
|
export const SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress';
|
|
30
30
|
export const SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';
|
|
31
31
|
|
|
32
|
+
export type ErrorWithResponse = {
|
|
33
|
+
response: { status: number } & { [key: string]: any };
|
|
34
|
+
};
|
|
35
|
+
|
|
32
36
|
function isBlob(body: any): body is Blob {
|
|
33
37
|
return typeof Blob !== 'undefined' && body instanceof Blob;
|
|
34
38
|
}
|
|
35
39
|
|
|
40
|
+
function hasErrorResponse(error: any): error is ErrorWithResponse {
|
|
41
|
+
return (
|
|
42
|
+
typeof error !== 'undefined' &&
|
|
43
|
+
Object.prototype.hasOwnProperty.call(error, 'response') &&
|
|
44
|
+
typeof error.response !== 'undefined' &&
|
|
45
|
+
Object.prototype.hasOwnProperty.call(error.response, 'status') &&
|
|
46
|
+
typeof error.response.status === 'number'
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
36
50
|
const normalizeHeaders = (
|
|
37
51
|
headers: Record<string, string>,
|
|
38
52
|
normalizedName: string
|
|
@@ -186,15 +200,19 @@ export class AxiosHttpHandler implements HttpHandler {
|
|
|
186
200
|
logger.error(error.message);
|
|
187
201
|
}
|
|
188
202
|
// for axios' cancel error, we should re-throw it back so it's not considered an s3client error
|
|
189
|
-
// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line
|
|
190
|
-
|
|
203
|
+
// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line.
|
|
204
|
+
//
|
|
205
|
+
// for errors that does not have a 'response' object, it's very likely that it is an unexpected error for
|
|
206
|
+
// example a disconnect. Without it we cannot meaningfully reconstruct a HttpResponse, and the AWS SDK might
|
|
207
|
+
// consider the request successful by mistake. In this case we should also re-throw the error.
|
|
208
|
+
if (axios.isCancel(error) || !hasErrorResponse(error)) {
|
|
191
209
|
throw error;
|
|
192
210
|
}
|
|
193
211
|
// otherwise, we should re-construct an HttpResponse from the error, so that it can be passed down to other
|
|
194
212
|
// aws sdk middleware (e.g retry, clock skew correction, error message serializing)
|
|
195
213
|
return {
|
|
196
214
|
response: new HttpResponse({
|
|
197
|
-
statusCode: error.response
|
|
215
|
+
statusCode: error.response.status,
|
|
198
216
|
body: error.response?.data,
|
|
199
217
|
headers: error.response?.headers,
|
|
200
218
|
}),
|