@authme/core 2.2.0-rc.6 → 2.2.0-rc.8
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
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [2.2.0-rc.8](https://github.com/AuthMe01/web-client-sdk/compare/v2.2.0-rc.7...v2.2.0-rc.8) (2022-12-07)
|
|
6
|
+
|
|
7
|
+
## [2.2.0-rc.7](https://github.com/AuthMe01/web-client-sdk/compare/v2.2.0-rc.6...v2.2.0-rc.7) (2022-12-07)
|
|
8
|
+
|
|
5
9
|
## [2.2.0-rc.6](https://github.com/AuthMe01/web-client-sdk/compare/v2.2.0-rc.5...v2.2.0-rc.6) (2022-12-05)
|
|
6
10
|
|
|
7
11
|
## [2.2.0-rc.5](https://github.com/AuthMe01/web-client-sdk/compare/v2.2.0-rc.4...v2.2.0-rc.5) (2022-12-03)
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@authme/core",
|
|
3
|
-
"version": "2.2.0-rc.
|
|
3
|
+
"version": "2.2.0-rc.8",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"typings": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@authme/util": "2.2.0-rc.
|
|
8
|
+
"@authme/util": "2.2.0-rc.8",
|
|
9
9
|
"three": "^0.136.0",
|
|
10
10
|
"tslib": "^2.3.0"
|
|
11
11
|
}
|
|
@@ -6,4 +6,11 @@ export interface RequestOptions {
|
|
|
6
6
|
[param: string]: string;
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
export declare function sendRequest(url: string, method?: string, body
|
|
9
|
+
export declare function sendRequest<TResp = any>(url: string, method?: string, { body, contentType, expectedResponseContentTypes, accessToken, baseUrl, sdkInfo, }?: {
|
|
10
|
+
body?: unknown;
|
|
11
|
+
contentType?: string;
|
|
12
|
+
expectedResponseContentTypes?: string[];
|
|
13
|
+
accessToken?: string;
|
|
14
|
+
baseUrl?: string;
|
|
15
|
+
sdkInfo?: string;
|
|
16
|
+
}): Promise<TResp>;
|
|
@@ -4,40 +4,111 @@ exports.sendRequest = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const util_1 = require("@authme/util");
|
|
6
6
|
const model_1 = require("../model");
|
|
7
|
-
function
|
|
7
|
+
function tryLoadAndParseJsonAsync(response) {
|
|
8
8
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
try {
|
|
10
|
+
return [undefined, yield response.json()];
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return [error, undefined];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function tryLoadAndParseTextAsync(response) {
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
try {
|
|
20
|
+
return [undefined, yield response.text()];
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return [error, undefined];
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function tryLoadArrayBufferAsync(response) {
|
|
28
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
return [undefined, yield response.arrayBuffer()];
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return [error, undefined];
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function sendRequest(url, method = 'GET', { body = undefined, contentType = 'application/json', expectedResponseContentTypes = null,
|
|
38
|
+
// 可以透過代入 null 的方式來取消預設值。
|
|
39
|
+
accessToken = util_1.Storage.getItem('token'), baseUrl = util_1.Storage.getItem('apiBaseUrl'), sdkInfo = [
|
|
40
|
+
`sdk-version: ${util_1.Storage.getItem('SDKVersion')}`,
|
|
41
|
+
(0, util_1.getUserAgent)(),
|
|
42
|
+
].join(';'), } = {}) {
|
|
43
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
const options = Object.assign(Object.assign({ method }, (typeof body !== undefined ? { body: body } : {})), { headers: Object.assign(Object.assign(Object.assign({}, (accessToken
|
|
45
|
+
? {
|
|
46
|
+
Authorization: 'Bearer ' + accessToken,
|
|
47
|
+
}
|
|
48
|
+
: {})), (typeof body !== 'undefined' && contentType !== 'multipart/form-data'
|
|
49
|
+
? {
|
|
50
|
+
'Content-Type': contentType,
|
|
51
|
+
}
|
|
52
|
+
: {})), (sdkInfo ? { 'sdk-info': sdkInfo } : {})) });
|
|
24
53
|
let resp;
|
|
25
54
|
try {
|
|
55
|
+
const normalizedUrl = baseUrl ? new URL(url, baseUrl).toString() : url;
|
|
26
56
|
resp = yield fetch(normalizedUrl.toString(), options);
|
|
27
57
|
}
|
|
28
58
|
catch (error) {
|
|
29
59
|
throw new model_1.AuthmeError(model_1.ErrorCode.NETWORK_ERROR, error);
|
|
30
60
|
}
|
|
31
|
-
|
|
32
|
-
|
|
61
|
+
const responseContentType = resp.headers.has('content-type')
|
|
62
|
+
? resp.headers.get('content-type')
|
|
63
|
+
: undefined;
|
|
64
|
+
const errorMessages = [];
|
|
65
|
+
let parsedError;
|
|
66
|
+
let responseContent;
|
|
67
|
+
if (!responseContentType) {
|
|
68
|
+
[parsedError, responseContent] = [undefined, undefined];
|
|
69
|
+
}
|
|
70
|
+
else if (responseContentType.indexOf('application/json') >= 0) {
|
|
71
|
+
[parsedError, responseContent] = yield tryLoadAndParseJsonAsync(resp);
|
|
72
|
+
}
|
|
73
|
+
else if (responseContentType.indexOf('text/json') >= 0) {
|
|
74
|
+
[parsedError, responseContent] = yield tryLoadAndParseJsonAsync(resp);
|
|
75
|
+
}
|
|
76
|
+
else if (responseContentType.indexOf('text/') >= 0) {
|
|
77
|
+
[parsedError, responseContent] = yield tryLoadAndParseTextAsync(resp);
|
|
78
|
+
}
|
|
79
|
+
else if (responseContentType.indexOf('application/javascript') >= 0) {
|
|
80
|
+
[parsedError, responseContent] = yield tryLoadAndParseTextAsync(resp);
|
|
33
81
|
}
|
|
34
82
|
else {
|
|
83
|
+
[parsedError, responseContent] = yield tryLoadArrayBufferAsync(resp);
|
|
84
|
+
}
|
|
85
|
+
if (!resp.ok) {
|
|
86
|
+
errorMessages.push('status code not in the range 200-299');
|
|
87
|
+
}
|
|
88
|
+
if (parsedError) {
|
|
89
|
+
errorMessages.push('parsedError when load/parse response');
|
|
90
|
+
}
|
|
91
|
+
if (expectedResponseContentTypes) {
|
|
92
|
+
if (!responseContentType ||
|
|
93
|
+
expectedResponseContentTypes.every((v) => responseContentType.indexOf(v) < 0)) {
|
|
94
|
+
errorMessages.push(`responseContentType: expected value = ${responseContentType}` +
|
|
95
|
+
`, but actual value = ${responseContentType}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (errorMessages.length !== 0) {
|
|
35
99
|
throw new model_1.AuthmeError(model_1.ErrorCode.HTTP_ERROR_RESPONSE, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
100
|
+
errorMessages,
|
|
101
|
+
meta: {
|
|
102
|
+
status: resp.status,
|
|
103
|
+
ok: resp.ok,
|
|
104
|
+
url,
|
|
105
|
+
responseContentType,
|
|
106
|
+
responseContent,
|
|
107
|
+
parsedError,
|
|
108
|
+
},
|
|
39
109
|
});
|
|
40
110
|
}
|
|
111
|
+
return responseContent;
|
|
41
112
|
});
|
|
42
113
|
}
|
|
43
114
|
exports.sendRequest = sendRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/data-access/http-client.ts"],"names":[],"mappings":";;;;AAAA,uCAAqD;AACrD,oCAAkD;AAOlD,SAAsB,WAAW,CAC/B,GAAW,EACX,MAAM,GAAG,KAAK,EACd,
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/data-access/http-client.ts"],"names":[],"mappings":"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"}
|