@outfoxx/sunday 2.0.0-beta.2 → 2.0.0-beta.21
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/README.md +346 -4
- package/build/authentication-adapter.d.ts +21 -0
- package/build/authentication-adapter.js +74 -0
- package/build/authentication-adapter.js.map +1 -0
- package/build/bearer-token-rejection-adapter.d.ts +6 -0
- package/build/bearer-token-rejection-adapter.js +25 -0
- package/build/bearer-token-rejection-adapter.js.map +1 -0
- package/build/client-settings.d.ts +22 -0
- package/build/client-settings.js +180 -0
- package/build/client-settings.js.map +1 -0
- package/build/credentials.d.ts +58 -0
- package/build/credentials.js +51 -0
- package/build/credentials.js.map +1 -0
- package/build/event-parser.d.ts +23 -8
- package/build/event-parser.js +93 -121
- package/build/event-parser.js.map +1 -1
- package/build/fetch-copy.d.ts +15 -0
- package/build/fetch-copy.js +71 -0
- package/build/fetch-copy.js.map +1 -0
- package/build/fetch-event-source.d.ts +18 -8
- package/build/fetch-event-source.js +241 -144
- package/build/fetch-event-source.js.map +1 -1
- package/build/fetch-oauth-token-provider.d.ts +28 -0
- package/build/fetch-oauth-token-provider.js +213 -0
- package/build/fetch-oauth-token-provider.js.map +1 -0
- package/build/fetch-transport.d.ts +15 -1
- package/build/fetch-transport.js +142 -132
- package/build/fetch-transport.js.map +1 -1
- package/build/fetch.js +24 -10
- package/build/fetch.js.map +1 -1
- package/build/header-token-adapters.d.ts +28 -0
- package/build/header-token-adapters.js +121 -0
- package/build/header-token-adapters.js.map +1 -0
- package/build/index.d.ts +23 -1
- package/build/index.js +22 -1
- package/build/index.js.map +1 -1
- package/build/media-type-codecs/binary-decoder.d.ts +1 -0
- package/build/media-type-codecs/binary-decoder.js +4 -11
- package/build/media-type-codecs/binary-decoder.js.map +1 -1
- package/build/media-type-codecs/cbor-encoder.d.ts +2 -2
- package/build/media-type-codecs/cbor-encoder.js +2 -2
- package/build/media-type-codecs/cbor-encoder.js.map +1 -1
- package/build/media-type-codecs/json-encoder.d.ts +3 -3
- package/build/media-type-codecs/json-encoder.js +4 -4
- package/build/media-type-codecs/json-encoder.js.map +1 -1
- package/build/media-type-codecs/media-type-encoder.d.ts +3 -3
- package/build/media-type-codecs/media-type-encoder.js.map +1 -1
- package/build/media-type-codecs/www-form-url-encoder.d.ts +2 -2
- package/build/media-type-codecs/www-form-url-encoder.js +2 -2
- package/build/media-type-codecs/www-form-url-encoder.js.map +1 -1
- package/build/model-construction.d.ts +5 -0
- package/build/model-construction.js +40 -0
- package/build/model-construction.js.map +1 -0
- package/build/model-schema.d.ts +9 -0
- package/build/model-schema.js +131 -0
- package/build/model-schema.js.map +1 -0
- package/build/oauth-wire.d.ts +33 -0
- package/build/oauth-wire.js +143 -0
- package/build/oauth-wire.js.map +1 -0
- package/build/operation.d.ts +3 -1
- package/build/problem.d.ts +39 -16
- package/build/problem.js +88 -32
- package/build/problem.js.map +1 -1
- package/build/request-adapter.d.ts +8 -0
- package/build/request-adapter.js +15 -0
- package/build/request-adapter.js.map +1 -0
- package/build/request-adapters-compat.d.ts +6 -0
- package/build/request-adapters-compat.js +19 -0
- package/build/request-adapters-compat.js.map +1 -0
- package/build/request-adapters.d.ts +13 -23
- package/build/request-adapters.js +40 -31
- package/build/request-adapters.js.map +1 -1
- package/build/request-body.d.ts +24 -0
- package/build/request-body.js +104 -0
- package/build/request-body.js.map +1 -0
- package/build/request-cancellation-error.d.ts +13 -0
- package/build/request-cancellation-error.js +43 -0
- package/build/request-cancellation-error.js.map +1 -0
- package/build/request-context.d.ts +4 -0
- package/build/request-context.js +29 -0
- package/build/request-context.js.map +1 -0
- package/build/request-execution.d.ts +13 -0
- package/build/request-execution.js +80 -0
- package/build/request-execution.js.map +1 -0
- package/build/request-security-bindings.d.ts +5 -0
- package/build/request-security-bindings.js +30 -0
- package/build/request-security-bindings.js.map +1 -0
- package/build/request-security.d.ts +20 -0
- package/build/request-security.js +223 -0
- package/build/request-security.js.map +1 -0
- package/build/request-validation-error.d.ts +4 -0
- package/build/request-validation-error.js +21 -0
- package/build/request-validation-error.js.map +1 -0
- package/build/response-adapter.d.ts +10 -0
- package/build/response-adapter.js +15 -0
- package/build/response-adapter.js.map +1 -0
- package/build/response-adapters.d.ts +13 -0
- package/build/response-adapters.js +75 -0
- package/build/response-adapters.js.map +1 -0
- package/build/schema-builtins.js +11 -21
- package/build/schema-builtins.js.map +1 -1
- package/build/schema-runtime.d.ts +8 -1
- package/build/schema-runtime.js +12 -3
- package/build/schema-runtime.js.map +1 -1
- package/build/security-binding.d.ts +22 -0
- package/build/security-binding.js +15 -0
- package/build/security-binding.js.map +1 -0
- package/build/standard-authentication-adapter.d.ts +18 -0
- package/build/standard-authentication-adapter.js +58 -0
- package/build/standard-authentication-adapter.js.map +1 -0
- package/build/token-manager.d.ts +42 -0
- package/build/token-manager.js +276 -0
- package/build/token-manager.js.map +1 -0
- package/build/token-provider.d.ts +52 -0
- package/build/token-provider.js +102 -0
- package/build/token-provider.js.map +1 -0
- package/build/transport.d.ts +10 -3
- package/build/unknown-variant.d.ts +12 -0
- package/build/unknown-variant.js +45 -0
- package/build/unknown-variant.js.map +1 -0
- package/build/url-template.d.ts +3 -0
- package/build/url-template.js +30 -2
- package/build/url-template.js.map +1 -1
- package/build/util/abort.d.ts +3 -0
- package/build/util/abort.js +42 -0
- package/build/util/abort.js.map +1 -0
- package/build/util/base64.d.ts +4 -0
- package/build/util/base64.js +46 -0
- package/build/util/base64.js.map +1 -0
- package/build/util/native-fetch.d.ts +2 -0
- package/build/util/native-fetch.js +39 -0
- package/build/util/native-fetch.js.map +1 -0
- package/build/util/nullify.js +12 -5
- package/build/util/nullify.js.map +1 -1
- package/build/util/owned-body.d.ts +12 -0
- package/build/util/owned-body.js +243 -0
- package/build/util/owned-body.js.map +1 -0
- package/build/util/status-title.d.ts +2 -0
- package/build/util/status-title.js +83 -0
- package/build/util/status-title.js.map +1 -0
- package/package.json +18 -6
package/build/fetch-transport.js
CHANGED
|
@@ -11,11 +11,19 @@
|
|
|
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 { copyRequest } from './fetch-copy.js';
|
|
15
|
+
import { inheritBody } from './util/owned-body.js';
|
|
16
|
+
import { prepareRequestBody } from './request-body.js';
|
|
17
|
+
import { RequestValidationError } from './request-validation-error.js';
|
|
18
|
+
import { unknownGet } from './util/unknowns.js';
|
|
19
|
+
import { RequestExecution } from './request-execution.js';
|
|
20
|
+
import { isRequestStopped, requestFailure, } from './request-cancellation-error.js';
|
|
14
21
|
import { ZodError } from 'zod';
|
|
15
22
|
import { mergeHeaders, validate } from './fetch.js';
|
|
16
23
|
import { FetchEventSource } from './fetch-event-source.js';
|
|
17
24
|
import { HeaderParameters } from './header-parameters.js';
|
|
18
25
|
import { MediaType } from './media-type.js';
|
|
26
|
+
import { BinaryDecoder } from './media-type-codecs/binary-decoder.js';
|
|
19
27
|
import { MediaTypeDecoders } from './media-type-codecs/media-type-decoders.js';
|
|
20
28
|
import { isURLQueryParamsEncoder } from './media-type-codecs/media-type-encoder.js';
|
|
21
29
|
import { MediaTypeEncoders } from './media-type-codecs/media-type-encoders.js';
|
|
@@ -26,7 +34,8 @@ import { URLTemplate } from './url-template.js';
|
|
|
26
34
|
import { errorToMessage } from './util/errors.js';
|
|
27
35
|
export class FetchTransport {
|
|
28
36
|
baseUrl;
|
|
29
|
-
|
|
37
|
+
execution;
|
|
38
|
+
maxBufferedRequestBytes;
|
|
30
39
|
mediaTypeEncoders;
|
|
31
40
|
mediaTypeDecoders;
|
|
32
41
|
problemTypes = new Map();
|
|
@@ -34,18 +43,39 @@ export class FetchTransport {
|
|
|
34
43
|
constructor(baseUrl, options) {
|
|
35
44
|
this.baseUrl =
|
|
36
45
|
typeof baseUrl === 'string' ? new URLTemplate(baseUrl) : baseUrl;
|
|
37
|
-
this.
|
|
46
|
+
this.maxBufferedRequestBytes = options?.maxBufferedRequestBytes;
|
|
47
|
+
this.execution = new RequestExecution(options?.requestAdapter ?? options?.adapter, options?.responseAdapter);
|
|
38
48
|
this.mediaTypeEncoders =
|
|
39
49
|
options?.mediaTypeEncoders ?? MediaTypeEncoders.DEFAULT;
|
|
40
50
|
this.mediaTypeDecoders =
|
|
41
51
|
options?.mediaTypeDecoders ?? MediaTypeDecoders.DEFAULT;
|
|
42
52
|
this.logger = options?.logger ?? console;
|
|
43
53
|
}
|
|
54
|
+
/** Uses a generated endpoint with only the adapters explicitly supplied by the caller. */
|
|
55
|
+
static fromSettings(settings, options) {
|
|
56
|
+
return new FetchTransport(settings.baseUrl, options);
|
|
57
|
+
}
|
|
44
58
|
registerProblem(type, problemType) {
|
|
45
59
|
const typeStr = type instanceof URL ? type.toString() : type;
|
|
46
60
|
this.problemTypes.set(typeStr, problemType);
|
|
47
61
|
}
|
|
62
|
+
/** Materializes an optionally authorized native request; execution belongs to its consumer. */
|
|
48
63
|
async transportRequest(requestSpec) {
|
|
64
|
+
return this.execution.export(await this.prepareRequest(requestSpec), requestSpec.security ?? []);
|
|
65
|
+
}
|
|
66
|
+
async prepareRequest(requestSpec) {
|
|
67
|
+
requestSpec.signal?.throwIfAborted();
|
|
68
|
+
try {
|
|
69
|
+
requestSpec.parameterValidation?.();
|
|
70
|
+
}
|
|
71
|
+
catch (cause) {
|
|
72
|
+
if (isRequestStopped(cause))
|
|
73
|
+
throw cause;
|
|
74
|
+
throw new RequestValidationError(cause);
|
|
75
|
+
}
|
|
76
|
+
if (requestSpec.body !== undefined &&
|
|
77
|
+
['GET', 'HEAD'].includes(requestSpec.method.toUpperCase()))
|
|
78
|
+
throw new TypeError('GET and HEAD requests cannot have a body');
|
|
49
79
|
const url = this.baseUrl.complete(requestSpec.pathTemplate, requestSpec.pathParameters ?? {});
|
|
50
80
|
if (requestSpec.queryParameters) {
|
|
51
81
|
const encoder = this.mediaTypeEncoders.find(MediaType.WWWFormUrlEncoded);
|
|
@@ -57,7 +87,7 @@ export class FetchTransport {
|
|
|
57
87
|
const headers = new Headers(HeaderParameters.encode(requestSpec.headers));
|
|
58
88
|
// Determine & add accept header
|
|
59
89
|
if (requestSpec.acceptTypes) {
|
|
60
|
-
const supportedAcceptTypes = requestSpec.acceptTypes.filter((type) => this.mediaTypeDecoders.supports(type));
|
|
90
|
+
const supportedAcceptTypes = requestSpec.acceptTypes.filter((type) => requestSpec.binaryResponse || this.mediaTypeDecoders.supports(type));
|
|
61
91
|
if (!supportedAcceptTypes.length) {
|
|
62
92
|
throw new Error('None of the provided accept types has a registered decoder');
|
|
63
93
|
}
|
|
@@ -71,7 +101,8 @@ export class FetchTransport {
|
|
|
71
101
|
const contentType = requestSpec.contentTypes?.find((type) => streamingBody !== undefined || this.mediaTypeEncoders.supports(type));
|
|
72
102
|
// If matched, add the content type (even if the body is nil,
|
|
73
103
|
// to match any expected server requirements)
|
|
74
|
-
if (contentType &&
|
|
104
|
+
if (contentType &&
|
|
105
|
+
(streamingBody === undefined || !headers.has('content-type'))) {
|
|
75
106
|
headers.set('content-type', contentType.toString());
|
|
76
107
|
}
|
|
77
108
|
// Encode & add body data
|
|
@@ -86,71 +117,82 @@ export class FetchTransport {
|
|
|
86
117
|
}
|
|
87
118
|
body = this.mediaTypeEncoders
|
|
88
119
|
.find(contentType)
|
|
89
|
-
.encode(requestSpec.body, requestSpec.bodyType);
|
|
120
|
+
.encode(requestSpec.body, requestSpec.bodyType, 'request');
|
|
90
121
|
}
|
|
91
122
|
}
|
|
92
|
-
const init = {
|
|
93
|
-
headers,
|
|
94
|
-
body,
|
|
95
|
-
method: requestSpec.method,
|
|
96
|
-
signal: requestSpec.signal,
|
|
97
|
-
};
|
|
98
|
-
if (body instanceof ReadableStream) {
|
|
99
|
-
init.duplex = 'half';
|
|
100
|
-
}
|
|
101
|
-
const request = new Request(url.toString(), init);
|
|
102
|
-
return (await this.adapter?.adapt(this, request)) ?? request;
|
|
103
|
-
}
|
|
104
|
-
async transportResponse(request, dataExpected) {
|
|
105
|
-
const req = request instanceof Request
|
|
106
|
-
? request
|
|
107
|
-
: await this.transportRequest(request);
|
|
108
|
-
const response = await fetch(req);
|
|
109
|
-
return await validate(response, dataExpected ?? false, this.problemTypes, this.logger);
|
|
110
|
-
}
|
|
111
|
-
async response(request, responseType) {
|
|
112
|
-
const response = await this.transportResponse(request, !!responseType);
|
|
113
|
-
if (!responseType) {
|
|
114
|
-
return new OperationResponse(undefined, response);
|
|
115
|
-
}
|
|
116
123
|
try {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
124
|
+
body = await prepareRequestBody(body, {
|
|
125
|
+
signal: requestSpec.signal,
|
|
126
|
+
maxBytes: this.maxBufferedRequestBytes,
|
|
127
|
+
});
|
|
128
|
+
const init = {
|
|
129
|
+
headers,
|
|
130
|
+
body,
|
|
131
|
+
method: requestSpec.method,
|
|
132
|
+
signal: requestSpec.signal,
|
|
133
|
+
redirect: requestSpec.security?.length ? 'manual' : undefined,
|
|
134
|
+
};
|
|
135
|
+
if (body instanceof ReadableStream) {
|
|
136
|
+
init.duplex = 'half';
|
|
137
|
+
}
|
|
138
|
+
const request = new Request(url.toString(), init);
|
|
139
|
+
inheritBody(body instanceof ReadableStream ? body : undefined, request);
|
|
140
|
+
return request;
|
|
121
141
|
}
|
|
122
142
|
catch (error) {
|
|
123
|
-
|
|
143
|
+
if (body instanceof ReadableStream)
|
|
144
|
+
void body.cancel(error).catch(() => undefined);
|
|
145
|
+
throw error;
|
|
124
146
|
}
|
|
125
147
|
}
|
|
148
|
+
async transportResponse(request, dataExpected = false) {
|
|
149
|
+
return this.execute(request, (response) => validate(response, dataExpected, this.problemTypes, this.logger));
|
|
150
|
+
}
|
|
151
|
+
async execute(request, consume) {
|
|
152
|
+
const prepared = request instanceof Request ? request : await this.prepareRequest(request);
|
|
153
|
+
return this.execution.execute(prepared, request instanceof Request ? [] : (request.security ?? []), consume);
|
|
154
|
+
}
|
|
155
|
+
async response(request, responseType) {
|
|
156
|
+
return this.execute(request, async (response, sent) => {
|
|
157
|
+
await validate(response, !!responseType, this.problemTypes, this.logger);
|
|
158
|
+
if (!responseType)
|
|
159
|
+
return new OperationResponse(undefined, response);
|
|
160
|
+
try {
|
|
161
|
+
const contentType = MediaType.from(response.headers.get('content-type'), MediaType.OctetStream);
|
|
162
|
+
const decoder = request.binaryResponse
|
|
163
|
+
? BinaryDecoder.default
|
|
164
|
+
: this.mediaTypeDecoders.find(contentType);
|
|
165
|
+
return new OperationResponse(await decoder.decode(response, responseType), response);
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
const failure = requestFailure(error, sent.signal);
|
|
169
|
+
if (sent.signal.aborted || isRequestStopped(failure))
|
|
170
|
+
throw failure;
|
|
171
|
+
throw await SundayError.fromResponse(errorToMessage(error, 'Response Decoding Failed'), response);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
126
175
|
async result(request, responseType) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
try {
|
|
132
|
-
const contentType = MediaType.from(response.headers.get('content-type'), MediaType.OctetStream);
|
|
133
|
-
const decoder = this.mediaTypeDecoders.find(contentType);
|
|
134
|
-
return await decoder.decode(response, responseType);
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
throw await SundayError.fromResponse(errorToMessage(error, 'Response Decoding Failed'), response);
|
|
138
|
-
}
|
|
176
|
+
return (responseType
|
|
177
|
+
? await this.response(request, responseType)
|
|
178
|
+
: await this.response(request)).result;
|
|
139
179
|
}
|
|
140
180
|
eventSource(requestSpec) {
|
|
141
|
-
//
|
|
142
|
-
const adapter = async (url, requestInit) => {
|
|
143
|
-
const eventSourceSpec = { ...requestSpec, pathTemplate: url };
|
|
144
|
-
const request = await this.transportRequest(eventSourceSpec);
|
|
145
|
-
return new Request(request, {
|
|
146
|
-
...requestInit,
|
|
147
|
-
headers: mergeHeaders(request.headers, requestInit.headers),
|
|
148
|
-
signal: composeAbortSignals(eventSourceSpec.signal, requestInit.signal ?? undefined),
|
|
149
|
-
});
|
|
150
|
-
};
|
|
151
181
|
return new FetchEventSource(requestSpec.pathTemplate, {
|
|
152
182
|
logger: this.logger,
|
|
153
|
-
adapter,
|
|
183
|
+
adapter: async (url, init) => {
|
|
184
|
+
const request = await this.prepareRequest({
|
|
185
|
+
...requestSpec,
|
|
186
|
+
pathTemplate: url,
|
|
187
|
+
signal: AbortSignal.any([requestSpec.signal, init.signal].filter((value) => !!value)),
|
|
188
|
+
});
|
|
189
|
+
return copyRequest(request, {
|
|
190
|
+
...init,
|
|
191
|
+
signal: request.signal,
|
|
192
|
+
headers: mergeHeaders(request.headers, init.headers),
|
|
193
|
+
});
|
|
194
|
+
},
|
|
195
|
+
fetch: (request, _signal, observeSignal) => this.execution.execute(request, requestSpec.security ?? [], (response) => response, observeSignal),
|
|
154
196
|
signal: requestSpec.signal,
|
|
155
197
|
});
|
|
156
198
|
}
|
|
@@ -159,64 +201,55 @@ export class FetchTransport {
|
|
|
159
201
|
// TODO: Determine event format from some well known extension headers.
|
|
160
202
|
// E.g., Quarkus sets `X-SSE-Content-Type` to the media type of the events.
|
|
161
203
|
const jsonDecoder = this.mediaTypeDecoders.find(MediaType.JSON);
|
|
162
|
-
const createAbortError = () => {
|
|
163
|
-
if (typeof DOMException !== 'undefined') {
|
|
164
|
-
return new DOMException('The operation was aborted.', 'AbortError');
|
|
165
|
-
}
|
|
166
|
-
const error = new Error('The operation was aborted.');
|
|
167
|
-
error.name = 'AbortError';
|
|
168
|
-
return error;
|
|
169
|
-
};
|
|
170
204
|
let connected = false;
|
|
171
205
|
let closed = false;
|
|
172
|
-
|
|
206
|
+
const pending = [];
|
|
173
207
|
const queue = [];
|
|
174
208
|
let error;
|
|
209
|
+
let failed = false;
|
|
175
210
|
const push = (value) => {
|
|
176
|
-
if (closed
|
|
211
|
+
if (closed) {
|
|
177
212
|
return;
|
|
178
213
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
214
|
+
const next = pending.shift();
|
|
215
|
+
if (next) {
|
|
216
|
+
next.resolve({ value, done: false });
|
|
182
217
|
return;
|
|
183
218
|
}
|
|
184
219
|
queue.push(value);
|
|
185
220
|
};
|
|
186
|
-
const
|
|
187
|
-
if (closed
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
error = cause;
|
|
191
|
-
if (pending) {
|
|
192
|
-
pending.reject(cause);
|
|
193
|
-
pending = undefined;
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
const finish = () => {
|
|
197
|
-
if (closed) {
|
|
221
|
+
const terminate = (failure) => {
|
|
222
|
+
if (closed)
|
|
198
223
|
return;
|
|
199
|
-
}
|
|
200
224
|
closed = true;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
225
|
+
failed = failure !== undefined;
|
|
226
|
+
error = failure?.reason;
|
|
227
|
+
queue.length = 0;
|
|
228
|
+
if (abortHandler)
|
|
229
|
+
requestSpec.signal?.removeEventListener('abort', abortHandler);
|
|
230
|
+
// Settle state before upstream cancellation, which can synchronously call application code.
|
|
231
|
+
eventSource.close(error);
|
|
232
|
+
for (const next of pending.splice(0)) {
|
|
233
|
+
if (failed)
|
|
234
|
+
next.reject(error);
|
|
235
|
+
else
|
|
236
|
+
next.resolve({ value: undefined, done: true });
|
|
204
237
|
}
|
|
205
238
|
};
|
|
206
239
|
eventSource.onmessage = (event) => {
|
|
207
|
-
if (
|
|
240
|
+
if (closed || event.data == null) {
|
|
208
241
|
return;
|
|
209
242
|
}
|
|
210
243
|
try {
|
|
211
244
|
const decodedEvent = decoder(jsonDecoder, event.type, event.lastEventId, event.data, this.logger);
|
|
212
|
-
if (
|
|
245
|
+
if (decodedEvent === undefined) {
|
|
213
246
|
return;
|
|
214
247
|
}
|
|
215
248
|
push(decodedEvent);
|
|
216
249
|
}
|
|
217
250
|
catch (err) {
|
|
218
|
-
if (!isEventDecodingError(err)) {
|
|
219
|
-
|
|
251
|
+
if (isRequestStopped(err) || !isEventDecodingError(err)) {
|
|
252
|
+
terminate({ reason: err });
|
|
220
253
|
return;
|
|
221
254
|
}
|
|
222
255
|
this.logger?.warn?.('skipping undecodable event stream event', {
|
|
@@ -228,22 +261,27 @@ export class FetchTransport {
|
|
|
228
261
|
};
|
|
229
262
|
eventSource.onerror = (event) => {
|
|
230
263
|
this.logger?.error?.({ event }, 'event source error');
|
|
264
|
+
const cause = unknownGet(event, 'error');
|
|
265
|
+
if (eventSource.readyState === eventSource.CLOSED) {
|
|
266
|
+
terminate({
|
|
267
|
+
reason: 'error' in event
|
|
268
|
+
? cause
|
|
269
|
+
: new Error('Event source closed with an error'),
|
|
270
|
+
});
|
|
271
|
+
}
|
|
231
272
|
};
|
|
232
273
|
let abortHandler;
|
|
233
274
|
if (requestSpec.signal?.aborted) {
|
|
234
|
-
|
|
235
|
-
finish();
|
|
275
|
+
terminate({ reason: requestSpec.signal.reason });
|
|
236
276
|
}
|
|
237
277
|
else {
|
|
238
278
|
abortHandler = () => {
|
|
239
|
-
|
|
240
|
-
finish();
|
|
241
|
-
eventSource.close();
|
|
279
|
+
terminate({ reason: requestSpec.signal.reason });
|
|
242
280
|
};
|
|
243
281
|
requestSpec.signal?.addEventListener('abort', abortHandler);
|
|
244
282
|
}
|
|
245
283
|
const ensureConnected = () => {
|
|
246
|
-
if (connected || closed
|
|
284
|
+
if (connected || closed) {
|
|
247
285
|
return;
|
|
248
286
|
}
|
|
249
287
|
connected = true;
|
|
@@ -254,11 +292,14 @@ export class FetchTransport {
|
|
|
254
292
|
ensureConnected();
|
|
255
293
|
return {
|
|
256
294
|
next: () => {
|
|
257
|
-
if (
|
|
295
|
+
if (failed) {
|
|
258
296
|
return Promise.reject(error);
|
|
259
297
|
}
|
|
260
298
|
if (queue.length > 0) {
|
|
261
|
-
return Promise.resolve({
|
|
299
|
+
return Promise.resolve({
|
|
300
|
+
value: queue.shift(),
|
|
301
|
+
done: false,
|
|
302
|
+
});
|
|
262
303
|
}
|
|
263
304
|
if (closed) {
|
|
264
305
|
return Promise.resolve({
|
|
@@ -267,27 +308,18 @@ export class FetchTransport {
|
|
|
267
308
|
});
|
|
268
309
|
}
|
|
269
310
|
return new Promise((resolve, reject) => {
|
|
270
|
-
pending
|
|
311
|
+
pending.push({ resolve, reject });
|
|
271
312
|
});
|
|
272
313
|
},
|
|
273
314
|
return: () => {
|
|
274
|
-
|
|
275
|
-
requestSpec.signal?.removeEventListener('abort', abortHandler);
|
|
276
|
-
}
|
|
277
|
-
eventSource.close();
|
|
278
|
-
finish();
|
|
315
|
+
terminate();
|
|
279
316
|
return Promise.resolve({
|
|
280
317
|
value: undefined,
|
|
281
318
|
done: true,
|
|
282
319
|
});
|
|
283
320
|
},
|
|
284
321
|
throw: (err) => {
|
|
285
|
-
|
|
286
|
-
requestSpec.signal?.removeEventListener('abort', abortHandler);
|
|
287
|
-
}
|
|
288
|
-
eventSource.close();
|
|
289
|
-
fail(err);
|
|
290
|
-
finish();
|
|
322
|
+
terminate({ reason: err });
|
|
291
323
|
return Promise.reject(err);
|
|
292
324
|
},
|
|
293
325
|
};
|
|
@@ -298,26 +330,4 @@ export class FetchTransport {
|
|
|
298
330
|
function isEventDecodingError(error) {
|
|
299
331
|
return error instanceof SyntaxError || error instanceof ZodError;
|
|
300
332
|
}
|
|
301
|
-
function composeAbortSignals(first, second) {
|
|
302
|
-
if (!first) {
|
|
303
|
-
return second;
|
|
304
|
-
}
|
|
305
|
-
if (!second) {
|
|
306
|
-
return first;
|
|
307
|
-
}
|
|
308
|
-
if (first.aborted || second.aborted) {
|
|
309
|
-
const controller = new AbortController();
|
|
310
|
-
controller.abort();
|
|
311
|
-
return controller.signal;
|
|
312
|
-
}
|
|
313
|
-
const controller = new AbortController();
|
|
314
|
-
const abort = () => {
|
|
315
|
-
first.removeEventListener('abort', abort);
|
|
316
|
-
second.removeEventListener('abort', abort);
|
|
317
|
-
controller.abort();
|
|
318
|
-
};
|
|
319
|
-
first.addEventListener('abort', abort, { once: true });
|
|
320
|
-
second.addEventListener('abort', abort, { once: true });
|
|
321
|
-
return controller.signal;
|
|
322
|
-
}
|
|
323
333
|
//# sourceMappingURL=fetch-transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-transport.js","sourceRoot":"","sources":["../src/fetch-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch-transport.js","sourceRoot":"","sources":["../src/fetch-transport.ts"],"names":[],"mappings":"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"}
|
package/build/fetch.js
CHANGED
|
@@ -11,11 +11,14 @@
|
|
|
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 { isRequestStopped } from './request-cancellation-error.js';
|
|
14
15
|
import { MediaType } from './media-type.js';
|
|
15
16
|
import { Problem, ProblemSchema } from './problem.js';
|
|
16
17
|
import { ArrayBufferEncoding, createSchemaRuntime, DateEncoding, NumericDateDecoding, } from './schema-runtime.js';
|
|
17
18
|
import { SundayError } from './sunday-error.js';
|
|
18
19
|
import { errorToMessage } from './util/errors.js';
|
|
20
|
+
import { encodeBase64 } from './util/base64.js';
|
|
21
|
+
import { statusTitle } from './util/status-title.js';
|
|
19
22
|
const problemRuntime = createSchemaRuntime({
|
|
20
23
|
format: 'json',
|
|
21
24
|
dateEncoding: DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH,
|
|
@@ -31,12 +34,15 @@ export async function validate(response, dataExpected, problemTypes, logger) {
|
|
|
31
34
|
}
|
|
32
35
|
const problemData = normalizeProblemData(await response.json(), response, logger);
|
|
33
36
|
const type = readProblemType(problemData);
|
|
34
|
-
const problemSchema = (type ? problemTypes?.get(type) : undefined) ??
|
|
37
|
+
const problemSchema = (type !== undefined ? problemTypes?.get(type) : undefined) ??
|
|
38
|
+
ProblemSchema;
|
|
35
39
|
let error;
|
|
36
40
|
try {
|
|
37
41
|
error = problemRuntime.resolveSchema(problemSchema).decode(problemData);
|
|
38
42
|
}
|
|
39
43
|
catch (decodeError) {
|
|
44
|
+
if (isRequestStopped(decodeError))
|
|
45
|
+
throw decodeError;
|
|
40
46
|
error = new SundayError(`Invalid problem response: ${errorToMessage(decodeError)}`, response.url, response.status, response.statusText, response.headers, problemData, ResponseExample.build(response));
|
|
41
47
|
}
|
|
42
48
|
throw error;
|
|
@@ -50,14 +56,20 @@ function normalizeProblemData(value, response, logger) {
|
|
|
50
56
|
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
51
57
|
return value;
|
|
52
58
|
}
|
|
53
|
-
const problemData = {
|
|
54
|
-
|
|
55
|
-
|
|
59
|
+
const problemData = {
|
|
60
|
+
...value,
|
|
61
|
+
};
|
|
62
|
+
if (typeof problemData.status !== 'number') {
|
|
63
|
+
logger?.warn?.('problem response payload missing "status"; backfilling from HTTP response status', { status: response.status, statusText: response.statusText });
|
|
56
64
|
problemData.status = response.status;
|
|
57
65
|
}
|
|
58
|
-
if (problemData.title
|
|
59
|
-
|
|
60
|
-
|
|
66
|
+
if (typeof problemData.title !== 'string' &&
|
|
67
|
+
readProblemType(problemData) === 'about:blank') {
|
|
68
|
+
logger?.warn?.('problem response payload missing "title"; backfilling from HTTP response status text', { status: response.status, statusText: response.statusText });
|
|
69
|
+
problemData.title =
|
|
70
|
+
problemData.status === response.status && response.statusText
|
|
71
|
+
? response.statusText
|
|
72
|
+
: statusTitle(problemData.status);
|
|
61
73
|
}
|
|
62
74
|
return problemData;
|
|
63
75
|
}
|
|
@@ -66,7 +78,7 @@ function readProblemType(value) {
|
|
|
66
78
|
return undefined;
|
|
67
79
|
}
|
|
68
80
|
const rec = value;
|
|
69
|
-
return typeof rec.type === 'string' ? rec.type :
|
|
81
|
+
return typeof rec.type === 'string' ? rec.type : 'about:blank';
|
|
70
82
|
}
|
|
71
83
|
export var ResponseExample;
|
|
72
84
|
(function (ResponseExample) {
|
|
@@ -102,12 +114,14 @@ export var ResponseExample;
|
|
|
102
114
|
bodyExcerpt = `<<binary data: ${blob.size} bytes>>`;
|
|
103
115
|
}
|
|
104
116
|
else {
|
|
105
|
-
const dataSlice = await blob.slice(0, maxLength).
|
|
106
|
-
bodyExcerpt = dataSlice
|
|
117
|
+
const dataSlice = new Uint8Array(await blob.slice(0, maxLength).arrayBuffer());
|
|
118
|
+
bodyExcerpt = encodeBase64(dataSlice);
|
|
107
119
|
}
|
|
108
120
|
}
|
|
109
121
|
}
|
|
110
122
|
catch (error) {
|
|
123
|
+
if (isRequestStopped(error))
|
|
124
|
+
throw error;
|
|
111
125
|
// ignore errors
|
|
112
126
|
const message = errorToMessage(error);
|
|
113
127
|
body = bodyExcerpt = `<<error displaying response data: ${message}>>`;
|
package/build/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;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RequestAdapter } from './request-adapter.js';
|
|
2
|
+
import { ResponseAdapter } from './response-adapter.js';
|
|
3
|
+
export declare abstract class HeaderTokenAuthorizingAdapter implements RequestAdapter {
|
|
4
|
+
header: string;
|
|
5
|
+
tokenHeaderType: string;
|
|
6
|
+
applyToken(request: Request, accessToken: string): Request;
|
|
7
|
+
abstract adapt(request: Request): Promise<Request>;
|
|
8
|
+
}
|
|
9
|
+
export declare class StaticHeaderTokenAuthorizingAdapter extends HeaderTokenAuthorizingAdapter {
|
|
10
|
+
private readonly accessToken;
|
|
11
|
+
constructor(accessToken: string);
|
|
12
|
+
adapt(request: Request): Promise<Request>;
|
|
13
|
+
}
|
|
14
|
+
export interface TokenAuthorization {
|
|
15
|
+
token: string;
|
|
16
|
+
expires: Date;
|
|
17
|
+
}
|
|
18
|
+
/** Optional caching authorization adapter; install its response capability explicitly for feedback. */
|
|
19
|
+
export declare class RefreshingHeaderTokenAuthorizingAdapter extends HeaderTokenAuthorizingAdapter implements ResponseAdapter {
|
|
20
|
+
private readonly manager;
|
|
21
|
+
private tokens?;
|
|
22
|
+
private lease?;
|
|
23
|
+
constructor(refresh: (signal: AbortSignal) => Promise<TokenAuthorization>);
|
|
24
|
+
/** Reports the manager's current expiry state without starting a refresh. */
|
|
25
|
+
shouldRefresh(): boolean;
|
|
26
|
+
adapt(request: Request): Promise<Request>;
|
|
27
|
+
adapt(response: Response, request: Request): Promise<Response>;
|
|
28
|
+
}
|