facility-core 2.3.0 → 2.3.2
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/package.json +2 -2
- package/src/facilityCore.d.ts +1 -1
- package/src/facilityCore.js +15 -3
- package/src/facilityCore.js.map +1 -1
- package/src/facilityCore.ts +21 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "facility-core",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "Common code for the Facility API Framework.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc && eslint src --ext .ts",
|
|
@@ -31,4 +31,4 @@
|
|
|
31
31
|
"prettier": "^2.3.1",
|
|
32
32
|
"typescript": "~3.9.9"
|
|
33
33
|
}
|
|
34
|
-
}
|
|
34
|
+
}
|
package/src/facilityCore.d.ts
CHANGED
package/src/facilityCore.js
CHANGED
|
@@ -18,6 +18,13 @@ var HttpClientUtility;
|
|
|
18
18
|
'503': 'ServiceUnavailable',
|
|
19
19
|
};
|
|
20
20
|
const jsonContentType = 'application/json';
|
|
21
|
+
const createInvalidContentError = (error) => {
|
|
22
|
+
const message = error instanceof Error ? error.message : typeof error === 'string' ? error : '';
|
|
23
|
+
return {
|
|
24
|
+
code: 'InvalidResponse',
|
|
25
|
+
message: message ? `HTTP content is invalid: ${message}` : 'HTTP content is invalid',
|
|
26
|
+
};
|
|
27
|
+
};
|
|
21
28
|
/** Fetch JSON using the specified fetch, URI, and request. */
|
|
22
29
|
function fetchResponse(fetch, uri, request, context) {
|
|
23
30
|
return fetch(uri, request, context).then((response) => {
|
|
@@ -33,10 +40,14 @@ var HttpClientUtility;
|
|
|
33
40
|
if (!jsonPromise || typeof jsonPromise.then !== 'function') {
|
|
34
41
|
throw new TypeError('json() of fetch response must return a Promise.');
|
|
35
42
|
}
|
|
36
|
-
return jsonPromise
|
|
43
|
+
return jsonPromise
|
|
44
|
+
.then((json) => ({
|
|
37
45
|
response: response,
|
|
38
46
|
json: json,
|
|
39
|
-
}))
|
|
47
|
+
}))
|
|
48
|
+
.catch((error) => response.status >= 400 && response.status <= 599
|
|
49
|
+
? { response: response }
|
|
50
|
+
: { response: response, json: createInvalidContentError(error) });
|
|
40
51
|
}
|
|
41
52
|
return Promise.resolve({ response: response });
|
|
42
53
|
});
|
|
@@ -157,7 +168,8 @@ var HttpClientUtility;
|
|
|
157
168
|
handleEnd();
|
|
158
169
|
return;
|
|
159
170
|
}
|
|
160
|
-
|
|
171
|
+
if (value)
|
|
172
|
+
processChunk(value);
|
|
161
173
|
readStream();
|
|
162
174
|
})
|
|
163
175
|
.catch(handleError);
|
package/src/facilityCore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilityCore.js","sourceRoot":"","sources":["facilityCore.ts"],"names":[],"mappings":";;;AAgCA,gCAAgC;AAChC,2DAA2D;AAC3D,IAAiB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"facilityCore.js","sourceRoot":"","sources":["facilityCore.ts"],"names":[],"mappings":"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"}
|
package/src/facilityCore.ts
CHANGED
|
@@ -67,7 +67,7 @@ export namespace HttpClientUtility {
|
|
|
67
67
|
/** Web Streams API ReadableStream (browser). */
|
|
68
68
|
export interface IWebReadableStream {
|
|
69
69
|
getReader(): {
|
|
70
|
-
read(): Promise<{ done: boolean; value
|
|
70
|
+
read(): Promise<{ done: boolean; value?: Uint8Array }>;
|
|
71
71
|
cancel(): Promise<void>;
|
|
72
72
|
};
|
|
73
73
|
}
|
|
@@ -95,6 +95,13 @@ export namespace HttpClientUtility {
|
|
|
95
95
|
};
|
|
96
96
|
|
|
97
97
|
const jsonContentType = 'application/json';
|
|
98
|
+
const createInvalidContentError = (error: unknown) => {
|
|
99
|
+
const message = error instanceof Error ? error.message : typeof error === 'string' ? error : '';
|
|
100
|
+
return {
|
|
101
|
+
code: 'InvalidResponse',
|
|
102
|
+
message: message ? `HTTP content is invalid: ${message}` : 'HTTP content is invalid',
|
|
103
|
+
};
|
|
104
|
+
};
|
|
98
105
|
|
|
99
106
|
/** Fetch JSON using the specified fetch, URI, and request. */
|
|
100
107
|
export function fetchResponse(
|
|
@@ -116,10 +123,16 @@ export namespace HttpClientUtility {
|
|
|
116
123
|
if (!jsonPromise || typeof jsonPromise.then !== 'function') {
|
|
117
124
|
throw new TypeError('json() of fetch response must return a Promise.');
|
|
118
125
|
}
|
|
119
|
-
return jsonPromise
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
return jsonPromise
|
|
127
|
+
.then((json) => ({
|
|
128
|
+
response: response,
|
|
129
|
+
json: json,
|
|
130
|
+
}))
|
|
131
|
+
.catch((error) =>
|
|
132
|
+
response.status >= 400 && response.status <= 599
|
|
133
|
+
? { response: response }
|
|
134
|
+
: { response: response, json: createInvalidContentError(error) }
|
|
135
|
+
);
|
|
123
136
|
}
|
|
124
137
|
return Promise.resolve({ response: response });
|
|
125
138
|
});
|
|
@@ -245,12 +258,12 @@ export namespace HttpClientUtility {
|
|
|
245
258
|
const readStream = (): void => {
|
|
246
259
|
reader
|
|
247
260
|
.read()
|
|
248
|
-
.then(({ done, value }
|
|
261
|
+
.then(({ done, value }) => {
|
|
249
262
|
if (done) {
|
|
250
263
|
handleEnd();
|
|
251
264
|
return;
|
|
252
265
|
}
|
|
253
|
-
processChunk(value);
|
|
266
|
+
if (value) processChunk(value);
|
|
254
267
|
readStream();
|
|
255
268
|
})
|
|
256
269
|
.catch(handleError);
|
|
@@ -258,7 +271,7 @@ export namespace HttpClientUtility {
|
|
|
258
271
|
readStream();
|
|
259
272
|
} else if (isNodeReadableStream(body)) {
|
|
260
273
|
// Handle Node.js Streams
|
|
261
|
-
body.on('data', (chunk
|
|
274
|
+
body.on('data', (chunk) => {
|
|
262
275
|
const uint8Array = chunk instanceof Uint8Array ? chunk : new Uint8Array(chunk);
|
|
263
276
|
processChunk(uint8Array);
|
|
264
277
|
});
|