@outfoxx/sunday 1.1.0-alpha.12 → 1.1.0-alpha.15
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/dist/fetch-event-source.d.ts +4 -0
- package/dist/fetch-event-source.js.map +1 -1
- package/dist/fetch.js +6 -1
- package/dist/fetch.js.map +1 -1
- package/dist/media-type-codecs/media-type-decoders.js.map +1 -1
- package/dist/media-type-codecs/www-form-url-encoder.js +43 -6
- package/dist/media-type-codecs/www-form-url-encoder.js.map +1 -1
- package/package.json +1 -1
- package/src/class-type.ts +2 -2
- package/src/event-parser.ts +4 -4
- package/src/fetch-event-source.ts +22 -7
- package/src/fetch-request-factory.ts +23 -23
- package/src/fetch.ts +8 -4
- package/src/header-parameters.ts +2 -2
- package/src/media-type-codecs/binary-decoder.ts +1 -1
- package/src/media-type-codecs/binary-encoder.ts +1 -1
- package/src/media-type-codecs/cbor-decoder.ts +16 -16
- package/src/media-type-codecs/cbor-encoder.ts +14 -14
- package/src/media-type-codecs/json-decoder.ts +15 -15
- package/src/media-type-codecs/json-encoder.ts +7 -7
- package/src/media-type-codecs/media-type-decoder.ts +1 -1
- package/src/media-type-codecs/media-type-decoders.ts +4 -5
- package/src/media-type-codecs/media-type-encoder.ts +3 -3
- package/src/media-type-codecs/media-type-encoders.ts +4 -4
- package/src/media-type-codecs/www-form-url-encoder.ts +67 -17
- package/src/media-type.ts +4 -4
- package/src/problem.ts +1 -1
- package/src/request-factory.ts +7 -7
- package/src/sunday-error.ts +4 -4
- package/src/url-template.ts +1 -1
- package/src/util/base64.ts +1 -1
- package/src/util/rxjs.ts +3 -3
- package/src/util/stream-rxjs.ts +1 -1
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Logger } from './logger';
|
|
3
3
|
import { ExtEventSource } from './request-factory';
|
|
4
|
+
export interface FetchEventSource {
|
|
5
|
+
addEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
6
|
+
removeEventListener<K extends keyof EventSourceEventMap>(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
7
|
+
}
|
|
4
8
|
export declare class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
5
9
|
private static LAST_EVENT_ID_HEADER;
|
|
6
10
|
private static MAX_RETRY_TIME_MULTIPLE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../src/fetch-event-source.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAc,EAAE,EAAgB,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChF,OAAO,EAAa,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../src/fetch-event-source.ts"],"names":[],"mappings":"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"}
|
package/dist/fetch.js
CHANGED
|
@@ -26,7 +26,12 @@ export async function validate(response, dataExpected, problemTypes) {
|
|
|
26
26
|
}
|
|
27
27
|
const problemData = await response.json();
|
|
28
28
|
const problemType = (_b = problemTypes === null || problemTypes === void 0 ? void 0 : problemTypes.get(problemData.type)) !== null && _b !== void 0 ? _b : Problem;
|
|
29
|
-
|
|
29
|
+
if (problemType.name === 'Problem') {
|
|
30
|
+
throw new Problem(problemData);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
throw new problemType(problemData === null || problemData === void 0 ? void 0 : problemData.instance);
|
|
34
|
+
}
|
|
30
35
|
}
|
|
31
36
|
if (dataExpected && (response.status === 204 || response.status === 205)) {
|
|
32
37
|
throw await SundayError.fromResponse('Unexpected Empty Response', response);
|
package/dist/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAkB,EAClB,YAAqB,EACrB,YAA2D;;IAE3D,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;QACnD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,WAAW,CACtB,CAAC;QACF,MAAM,aAAa,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,mCAAI,KAAK,CAAC;QAC5E,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC5C;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,mCAAI,OAAO,CAAC;QACnE,MAAM,IAAI,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-type-decoders.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-decoders.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"media-type-decoders.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-decoders.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAiB1C,MAAM,OAAO,iBAAiB;IAiC5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AAhDM,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAuBpD,CAAC;IArBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;aAC1D,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;aACjD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;aAC9C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
import { Instant } from '@js-joda/core';
|
|
14
|
+
import { DateTimeFormatter, Instant, LocalDate, LocalDateTime, LocalTime, OffsetDateTime, OffsetTime, Temporal, ZonedDateTime, } from '@js-joda/core';
|
|
15
15
|
import { JsonStringifier } from '@outfoxx/jackson-js';
|
|
16
16
|
export class WWWFormUrlEncoder {
|
|
17
17
|
constructor(arrayEncoding, boolEncoding, dateEncoding, json = new JsonStringifier(), encoder = new TextEncoder()) {
|
|
@@ -50,11 +50,17 @@ export class WWWFormUrlEncoder {
|
|
|
50
50
|
components.push(...this.encodeQueryComponent(encodeArrayKey(key, this.arrayEncoding), item));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
else if (value instanceof
|
|
53
|
+
else if (value instanceof Date) {
|
|
54
54
|
//
|
|
55
55
|
components.push(encodeURIComponent(key) +
|
|
56
56
|
'=' +
|
|
57
|
-
encodeURIComponent(
|
|
57
|
+
encodeURIComponent(encodeInstant(Instant.ofEpochMilli(value.getTime()), this.dateEncoding)));
|
|
58
|
+
}
|
|
59
|
+
else if (value instanceof Temporal) {
|
|
60
|
+
//
|
|
61
|
+
components.push(encodeURIComponent(key) +
|
|
62
|
+
'=' +
|
|
63
|
+
encodeURIComponent(encodeTemporal(value, this.dateEncoding)));
|
|
58
64
|
}
|
|
59
65
|
else if (typeof value === 'boolean') {
|
|
60
66
|
//
|
|
@@ -91,15 +97,46 @@ function encodeBoolean(value, encoding) {
|
|
|
91
97
|
throw new Error('unknown boolean encoding');
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
|
-
function
|
|
95
|
-
|
|
100
|
+
function encodeTemporal(value, encoding) {
|
|
101
|
+
if (value instanceof Instant) {
|
|
102
|
+
return encodeInstant(value, encoding);
|
|
103
|
+
}
|
|
104
|
+
else if (value instanceof OffsetDateTime) {
|
|
105
|
+
if (encoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
|
|
106
|
+
return value.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
|
|
107
|
+
}
|
|
108
|
+
return encodeInstant(value.toInstant(), encoding);
|
|
109
|
+
}
|
|
110
|
+
else if (value instanceof ZonedDateTime) {
|
|
111
|
+
if (encoding == WWWFormUrlEncoder.DateEncoding.ISO8601) {
|
|
112
|
+
return value.format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
|
|
113
|
+
}
|
|
114
|
+
return encodeInstant(value.toInstant(), encoding);
|
|
115
|
+
}
|
|
116
|
+
else if (value instanceof LocalDateTime) {
|
|
117
|
+
return value.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
|
118
|
+
}
|
|
119
|
+
else if (value instanceof LocalDate) {
|
|
120
|
+
return value.format(DateTimeFormatter.ISO_LOCAL_DATE);
|
|
121
|
+
}
|
|
122
|
+
else if (value instanceof LocalTime) {
|
|
123
|
+
return value.format(DateTimeFormatter.ISO_LOCAL_TIME);
|
|
124
|
+
}
|
|
125
|
+
else if (value instanceof OffsetTime) {
|
|
126
|
+
return value.format(DateTimeFormatter.ISO_OFFSET_TIME);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
throw Error('unsupported temporal value for ');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function encodeInstant(value, encoding) {
|
|
96
133
|
switch (encoding) {
|
|
97
134
|
case WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
|
|
98
135
|
return (value.epochSecond() + value.nano() / 1000000000).toFixed(7);
|
|
99
136
|
case WWWFormUrlEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
|
|
100
137
|
return `${value.toEpochMilli()}`;
|
|
101
138
|
case WWWFormUrlEncoder.DateEncoding.ISO8601:
|
|
102
|
-
return
|
|
139
|
+
return DateTimeFormatter.ISO_INSTANT.format(value);
|
|
103
140
|
default:
|
|
104
141
|
throw new Error('unknown date encoding');
|
|
105
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"www-form-url-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/www-form-url-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"www-form-url-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/www-form-url-encoder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/class-type.ts
CHANGED
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
15
|
export type ClassType<T> =
|
|
16
|
-
| (abstract new () => T)
|
|
16
|
+
| (abstract new () => T)
|
|
17
17
|
| (abstract new (...args: any[]) => T); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
18
18
|
|
|
19
19
|
export declare type ConstructableClassType<T> =
|
|
20
|
-
| (new () => T)
|
|
20
|
+
| (new () => T)
|
|
21
21
|
| (new (...args: any[]) => T); // eslint-disable-line @typescript-eslint/no-explicit-any
|
package/src/event-parser.ts
CHANGED
|
@@ -25,7 +25,7 @@ export class EventParser {
|
|
|
25
25
|
|
|
26
26
|
process(
|
|
27
27
|
buffer: ArrayBuffer,
|
|
28
|
-
dispatcher: (eventInfo: EventInfo) => void
|
|
28
|
+
dispatcher: (eventInfo: EventInfo) => void,
|
|
29
29
|
): void {
|
|
30
30
|
const availableBuffer = this.buildAvailableBuffer(buffer);
|
|
31
31
|
if (!availableBuffer) {
|
|
@@ -52,7 +52,7 @@ export class EventParser {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
const newBuffer = new Uint8Array(
|
|
55
|
-
unprocessedBuffer.byteLength + buffer.byteLength
|
|
55
|
+
unprocessedBuffer.byteLength + buffer.byteLength,
|
|
56
56
|
);
|
|
57
57
|
newBuffer.set(new Uint8Array(unprocessedBuffer), 0);
|
|
58
58
|
newBuffer.set(new Uint8Array(buffer), unprocessedBuffer.byteLength);
|
|
@@ -88,7 +88,7 @@ export class EventParser {
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
private static findEventSeparator(
|
|
91
|
-
buffer: ArrayBuffer
|
|
91
|
+
buffer: ArrayBuffer,
|
|
92
92
|
): [number, number] | undefined {
|
|
93
93
|
const bytes = new Uint8Array(buffer);
|
|
94
94
|
|
|
@@ -135,7 +135,7 @@ export class EventParser {
|
|
|
135
135
|
|
|
136
136
|
private static parseAndDispatchEvents(
|
|
137
137
|
eventStrings: string[],
|
|
138
|
-
dispatcher: (eventInfo: EventInfo) => void
|
|
138
|
+
dispatcher: (eventInfo: EventInfo) => void,
|
|
139
139
|
) {
|
|
140
140
|
for (const eventString of eventStrings) {
|
|
141
141
|
if (!eventString.length) {
|
|
@@ -21,6 +21,21 @@ import { ExtEventSource } from './request-factory';
|
|
|
21
21
|
import { unknownSet } from './util/any';
|
|
22
22
|
import { fromStream } from './util/stream-rxjs';
|
|
23
23
|
|
|
24
|
+
export interface FetchEventSource {
|
|
25
|
+
addEventListener<K extends keyof EventSourceEventMap>(
|
|
26
|
+
type: K,
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
+
listener: (this: EventSource, ev: EventSourceEventMap[K]) => any,
|
|
29
|
+
options?: boolean | AddEventListenerOptions,
|
|
30
|
+
): void;
|
|
31
|
+
removeEventListener<K extends keyof EventSourceEventMap>(
|
|
32
|
+
type: K,
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
+
listener: (this: EventSource, ev: EventSourceEventMap[K]) => any,
|
|
35
|
+
options?: boolean | EventListenerOptions,
|
|
36
|
+
): void;
|
|
37
|
+
}
|
|
38
|
+
|
|
24
39
|
export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
25
40
|
private static LAST_EVENT_ID_HEADER = 'Last-Event-ID';
|
|
26
41
|
private static MAX_RETRY_TIME_MULTIPLE = 30;
|
|
@@ -44,7 +59,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
44
59
|
|
|
45
60
|
private adapter: (
|
|
46
61
|
url: string,
|
|
47
|
-
requestInit: RequestInit
|
|
62
|
+
requestInit: RequestInit,
|
|
48
63
|
) => Observable<Request>;
|
|
49
64
|
private connectionSubscription?: Subscription;
|
|
50
65
|
private internalRetryTime = 100;
|
|
@@ -67,7 +82,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
67
82
|
eventTimeout?: number;
|
|
68
83
|
logger?: Logger;
|
|
69
84
|
abortController?: AbortController;
|
|
70
|
-
}
|
|
85
|
+
},
|
|
71
86
|
) {
|
|
72
87
|
super();
|
|
73
88
|
this.url = url;
|
|
@@ -131,7 +146,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
131
146
|
|
|
132
147
|
return fromStream(body);
|
|
133
148
|
}),
|
|
134
|
-
map((value) => this.receivedData(value))
|
|
149
|
+
map((value) => this.receivedData(value)),
|
|
135
150
|
)
|
|
136
151
|
.subscribe({
|
|
137
152
|
error: (error: unknown) => {
|
|
@@ -184,7 +199,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
184
199
|
|
|
185
200
|
this.eventTimeoutCheckHandle = window.setInterval(
|
|
186
201
|
() => this.checkEventTimeout(),
|
|
187
|
-
FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL * 1000
|
|
202
|
+
FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL * 1000,
|
|
188
203
|
);
|
|
189
204
|
}
|
|
190
205
|
|
|
@@ -299,7 +314,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
299
314
|
const backOffDelay = Math.pow(this.retryAttempt, 2) * this.retryTime;
|
|
300
315
|
let retryDelay = Math.min(
|
|
301
316
|
this.retryTime + backOffDelay,
|
|
302
|
-
this.retryTime * FetchEventSource.MAX_RETRY_TIME_MULTIPLE
|
|
317
|
+
this.retryTime * FetchEventSource.MAX_RETRY_TIME_MULTIPLE,
|
|
303
318
|
);
|
|
304
319
|
|
|
305
320
|
// Adjust delay by amount of time last connect
|
|
@@ -318,7 +333,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
318
333
|
|
|
319
334
|
this.reconnectTimeoutHandle = window.setTimeout(
|
|
320
335
|
() => this.internalConnect(),
|
|
321
|
-
retryDelay
|
|
336
|
+
retryDelay,
|
|
322
337
|
);
|
|
323
338
|
}
|
|
324
339
|
|
|
@@ -367,7 +382,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
|
|
|
367
382
|
this.lastEventId = eventInfo.id;
|
|
368
383
|
} else {
|
|
369
384
|
this.logger?.debug?.(
|
|
370
|
-
'event id contains null, unable to use for last-event-id'
|
|
385
|
+
'event id contains null, unable to use for last-event-id',
|
|
371
386
|
);
|
|
372
387
|
}
|
|
373
388
|
}
|
|
@@ -50,7 +50,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
50
50
|
mediaTypeEncoders?: MediaTypeEncoders;
|
|
51
51
|
mediaTypeDecoders?: MediaTypeDecoders;
|
|
52
52
|
logger?: Logger;
|
|
53
|
-
}
|
|
53
|
+
},
|
|
54
54
|
) {
|
|
55
55
|
this.baseUrl =
|
|
56
56
|
typeof baseUrl === 'string' ? new URLTemplate(baseUrl) : baseUrl;
|
|
@@ -64,7 +64,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
64
64
|
|
|
65
65
|
registerProblem(
|
|
66
66
|
type: URL | string,
|
|
67
|
-
problemType: ConstructableClassType<Problem
|
|
67
|
+
problemType: ConstructableClassType<Problem>,
|
|
68
68
|
): void {
|
|
69
69
|
const typeStr = type instanceof URL ? type.toString() : type;
|
|
70
70
|
this.problemTypes.set(typeStr, problemType);
|
|
@@ -72,26 +72,26 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
72
72
|
|
|
73
73
|
request(
|
|
74
74
|
requestSpec: RequestSpec<unknown>,
|
|
75
|
-
requestInit?: RequestInit
|
|
75
|
+
requestInit?: RequestInit,
|
|
76
76
|
): Observable<Request> {
|
|
77
77
|
//
|
|
78
78
|
return defer(() => {
|
|
79
79
|
const url = this.baseUrl.complete(
|
|
80
80
|
requestSpec.pathTemplate,
|
|
81
|
-
requestSpec.pathParameters ?? {}
|
|
81
|
+
requestSpec.pathParameters ?? {},
|
|
82
82
|
);
|
|
83
83
|
|
|
84
84
|
if (requestSpec.queryParameters) {
|
|
85
85
|
const encoder = this.mediaTypeEncoders.find(
|
|
86
|
-
MediaType.WWWFormUrlEncoded
|
|
86
|
+
MediaType.WWWFormUrlEncoded,
|
|
87
87
|
);
|
|
88
88
|
if (!isURLQueryParamsEncoder(encoder)) {
|
|
89
89
|
throw Error(
|
|
90
|
-
`MediaTypeEncoder for ${MediaType.WWWFormUrlEncoded} must be an instance of URLQueryParamsEncoder
|
|
90
|
+
`MediaTypeEncoder for ${MediaType.WWWFormUrlEncoded} must be an instance of URLQueryParamsEncoder`,
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
93
|
url.search = `?${encoder.encodeQueryString(
|
|
94
|
-
requestSpec.queryParameters
|
|
94
|
+
requestSpec.queryParameters,
|
|
95
95
|
)}`;
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -100,12 +100,12 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
100
100
|
// Determine & add accept header
|
|
101
101
|
if (requestSpec.acceptTypes) {
|
|
102
102
|
const supportedAcceptTypes = requestSpec.acceptTypes.filter((type) =>
|
|
103
|
-
this.mediaTypeDecoders.supports(type)
|
|
103
|
+
this.mediaTypeDecoders.supports(type),
|
|
104
104
|
);
|
|
105
105
|
|
|
106
106
|
if (!supportedAcceptTypes.length) {
|
|
107
107
|
throw Error(
|
|
108
|
-
'None of the provided accept types has a reqistered decoder'
|
|
108
|
+
'None of the provided accept types has a reqistered decoder',
|
|
109
109
|
);
|
|
110
110
|
}
|
|
111
111
|
|
|
@@ -116,7 +116,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
116
116
|
|
|
117
117
|
// Determine content type
|
|
118
118
|
const contentType = requestSpec.contentTypes?.find((type) =>
|
|
119
|
-
this.mediaTypeEncoders.supports(type)
|
|
119
|
+
this.mediaTypeEncoders.supports(type),
|
|
120
120
|
);
|
|
121
121
|
|
|
122
122
|
// If matched, add content type (even if body is nil, to match any expected server requirements)
|
|
@@ -129,7 +129,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
129
129
|
if (requestSpec.body) {
|
|
130
130
|
if (!contentType) {
|
|
131
131
|
throw Error(
|
|
132
|
-
'None of the provided content types has a registered encoder'
|
|
132
|
+
'None of the provided content types has a registered encoder',
|
|
133
133
|
);
|
|
134
134
|
}
|
|
135
135
|
|
|
@@ -152,15 +152,15 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
152
152
|
|
|
153
153
|
response(
|
|
154
154
|
request: Request | RequestSpec<unknown>,
|
|
155
|
-
dataExpected?: boolean
|
|
155
|
+
dataExpected?: boolean,
|
|
156
156
|
): Observable<Response> {
|
|
157
157
|
const request$ =
|
|
158
158
|
request instanceof Request ? of(request) : this.request(request);
|
|
159
159
|
return request$.pipe(
|
|
160
160
|
switchMap((req) => fetch(req)),
|
|
161
161
|
switchMap((response) =>
|
|
162
|
-
validate(response, dataExpected ?? false, this.problemTypes)
|
|
163
|
-
)
|
|
162
|
+
validate(response, dataExpected ?? false, this.problemTypes),
|
|
163
|
+
),
|
|
164
164
|
);
|
|
165
165
|
}
|
|
166
166
|
|
|
@@ -168,7 +168,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
168
168
|
result<B>(requestSpec: RequestSpec<B>): Observable<void>;
|
|
169
169
|
result(
|
|
170
170
|
request: RequestSpec<unknown>,
|
|
171
|
-
responseType?: AnyType
|
|
171
|
+
responseType?: AnyType,
|
|
172
172
|
): Observable<unknown> {
|
|
173
173
|
const response$ = this.response(request, !!responseType);
|
|
174
174
|
|
|
@@ -180,17 +180,17 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
180
180
|
try {
|
|
181
181
|
const contentType = MediaType.from(
|
|
182
182
|
response.headers.get('content-type'),
|
|
183
|
-
MediaType.OctetStream
|
|
183
|
+
MediaType.OctetStream,
|
|
184
184
|
);
|
|
185
185
|
const decoder = this.mediaTypeDecoders.find(contentType);
|
|
186
186
|
return await decoder.decode(response, responseType);
|
|
187
187
|
} catch (error) {
|
|
188
188
|
throw await SundayError.fromResponse(
|
|
189
189
|
errorToMessage(error, 'Response Decoding Failed'),
|
|
190
|
-
response
|
|
190
|
+
response,
|
|
191
191
|
);
|
|
192
192
|
}
|
|
193
|
-
})
|
|
193
|
+
}),
|
|
194
194
|
);
|
|
195
195
|
}
|
|
196
196
|
}
|
|
@@ -199,7 +199,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
199
199
|
//
|
|
200
200
|
const adapter = (
|
|
201
201
|
url: string,
|
|
202
|
-
requestInit: RequestInit
|
|
202
|
+
requestInit: RequestInit,
|
|
203
203
|
): Observable<Request> => {
|
|
204
204
|
const eventSourceSpec = Object.assign({}, requestSpec, {
|
|
205
205
|
pathTemplate: url,
|
|
@@ -220,13 +220,13 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
220
220
|
event: string | undefined,
|
|
221
221
|
id: string | undefined,
|
|
222
222
|
data: string,
|
|
223
|
-
logger?: Logger
|
|
224
|
-
) => E | undefined
|
|
223
|
+
logger?: Logger,
|
|
224
|
+
) => E | undefined,
|
|
225
225
|
): Observable<E> {
|
|
226
226
|
const eventSource = this.eventSource(requestSpec);
|
|
227
227
|
|
|
228
228
|
const jsonDecoder = this.mediaTypeDecoders.find(
|
|
229
|
-
MediaType.JSON
|
|
229
|
+
MediaType.JSON,
|
|
230
230
|
) as TextMediaTypeDecoder;
|
|
231
231
|
|
|
232
232
|
return new Observable((subscriber) => {
|
|
@@ -241,7 +241,7 @@ export class FetchRequestFactory implements RequestFactory {
|
|
|
241
241
|
event.type,
|
|
242
242
|
event.lastEventId,
|
|
243
243
|
event.data,
|
|
244
|
-
this.logger
|
|
244
|
+
this.logger,
|
|
245
245
|
);
|
|
246
246
|
if (!decodedEvent) {
|
|
247
247
|
return;
|
package/src/fetch.ts
CHANGED
|
@@ -22,12 +22,12 @@ import { errorToMessage } from './util/error';
|
|
|
22
22
|
export async function validate(
|
|
23
23
|
response: Response,
|
|
24
24
|
dataExpected: boolean,
|
|
25
|
-
problemTypes?: Map<string, ConstructableClassType<Problem
|
|
25
|
+
problemTypes?: Map<string, ConstructableClassType<Problem>>,
|
|
26
26
|
): Promise<Response> {
|
|
27
27
|
if (response.status < 200 || response.status >= 300) {
|
|
28
28
|
const mediaType = MediaType.from(
|
|
29
29
|
response.headers.get('content-type'),
|
|
30
|
-
MediaType.OctetStream
|
|
30
|
+
MediaType.OctetStream,
|
|
31
31
|
);
|
|
32
32
|
const isProblemJSON = mediaType?.compatible(MediaType.ProblemJSON) ?? false;
|
|
33
33
|
if (!isProblemJSON) {
|
|
@@ -36,7 +36,11 @@ export async function validate(
|
|
|
36
36
|
|
|
37
37
|
const problemData = await response.json();
|
|
38
38
|
const problemType = problemTypes?.get(problemData.type) ?? Problem;
|
|
39
|
-
|
|
39
|
+
if (problemType.name === 'Problem') {
|
|
40
|
+
throw new Problem(problemData);
|
|
41
|
+
} else {
|
|
42
|
+
throw new problemType(problemData?.instance);
|
|
43
|
+
}
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
if (dataExpected && (response.status === 204 || response.status === 205)) {
|
|
@@ -60,7 +64,7 @@ export namespace ResponseExample {
|
|
|
60
64
|
|
|
61
65
|
export async function bodyExcerpt(
|
|
62
66
|
response: Response,
|
|
63
|
-
maxLength: number
|
|
67
|
+
maxLength: number,
|
|
64
68
|
): Promise<[string, unknown]> {
|
|
65
69
|
let body: unknown;
|
|
66
70
|
let bodyExcerpt: string;
|
package/src/header-parameters.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
export namespace HeaderParameters {
|
|
16
16
|
export function encode(
|
|
17
|
-
parameters?: Record<string, unknown
|
|
17
|
+
parameters?: Record<string, unknown>,
|
|
18
18
|
): [string, string][] {
|
|
19
19
|
if (parameters == null) {
|
|
20
20
|
return [];
|
|
@@ -58,7 +58,7 @@ export namespace HeaderParameters {
|
|
|
58
58
|
function validate(name: string, value: string): string {
|
|
59
59
|
if (!asciiRegex.test(value)) {
|
|
60
60
|
throw new Error(
|
|
61
|
-
`The encoded header value contains one or more invalid characters: header=${name}, value=${value}
|
|
61
|
+
`The encoded header value contains one or more invalid characters: header=${name}, value=${value}`,
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
64
|
return value;
|
|
@@ -25,7 +25,7 @@ export class BinaryEncoder implements MediaTypeEncoder {
|
|
|
25
25
|
!(value instanceof ReadableStream)
|
|
26
26
|
) {
|
|
27
27
|
throw Error(
|
|
28
|
-
'Invalid value, expected BufferSource, Blob or ReadableStream'
|
|
28
|
+
'Invalid value, expected BufferSource, Blob or ReadableStream',
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
31
|
return value;
|