@utiliread/http 1.17.7 → 1.18.0
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/.vscode/settings.json +2 -2
- package/dist/cjs/event-aggregator.js +29 -29
- package/dist/cjs/event-aggregator.js.map +1 -1
- package/dist/cjs/events.js +18 -18
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/helpers.js +15 -15
- package/dist/cjs/http-builder.js +191 -191
- package/dist/cjs/http-builder.js.map +1 -1
- package/dist/cjs/http-error.js +29 -29
- package/dist/cjs/http-error.js.map +1 -1
- package/dist/cjs/http-response.js +50 -50
- package/dist/cjs/http-response.js.map +1 -1
- package/dist/cjs/http.js +95 -95
- package/dist/cjs/http.js.map +1 -1
- package/dist/cjs/http.spec.js +68 -68
- package/dist/cjs/http.spec.js.map +1 -1
- package/dist/cjs/index.js +37 -37
- package/dist/cjs/json/index.js +73 -73
- package/dist/cjs/jsonpatch/index.js +14 -14
- package/dist/cjs/mapping.js +36 -36
- package/dist/cjs/mapping.js.map +1 -1
- package/dist/cjs/msgpack/index.js +34 -34
- package/dist/cjs/msgpack/index.js.map +1 -1
- package/dist/cjs/pagination.js +2 -2
- package/dist/cjs/problem-details.js +2 -2
- package/dist/cjs/query-string.js +67 -65
- package/dist/cjs/query-string.js.map +1 -1
- package/dist/cjs/query-string.spec.js +51 -51
- package/dist/cjs/status-codes.js +70 -70
- package/dist/cjs/timeout-error.js +13 -13
- package/dist/esm/event-aggregator.d.ts +11 -11
- package/dist/esm/event-aggregator.js +25 -25
- package/dist/esm/event-aggregator.js.map +1 -1
- package/dist/esm/events.d.ts +11 -11
- package/dist/esm/events.js +14 -14
- package/dist/esm/events.js.map +1 -1
- package/dist/esm/helpers.d.ts +5 -5
- package/dist/esm/helpers.js +9 -9
- package/dist/esm/http-builder.d.ts +60 -60
- package/dist/esm/http-builder.js +186 -186
- package/dist/esm/http-builder.js.map +1 -1
- package/dist/esm/http-error.d.ts +10 -10
- package/dist/esm/http-error.js +25 -25
- package/dist/esm/http-error.js.map +1 -1
- package/dist/esm/http-response.d.ts +18 -18
- package/dist/esm/http-response.js +45 -45
- package/dist/esm/http-response.js.map +1 -1
- package/dist/esm/http.d.ts +33 -33
- package/dist/esm/http.js +91 -91
- package/dist/esm/http.js.map +1 -1
- package/dist/esm/http.spec.d.ts +1 -1
- package/dist/esm/http.spec.js +66 -66
- package/dist/esm/http.spec.js.map +1 -1
- package/dist/esm/index.d.ts +15 -15
- package/dist/esm/index.js +10 -10
- package/dist/esm/json/index.d.ts +15 -15
- package/dist/esm/json/index.js +71 -71
- package/dist/esm/jsonpatch/index.d.ts +9 -9
- package/dist/esm/jsonpatch/index.js +12 -12
- package/dist/esm/mapping.d.ts +9 -9
- package/dist/esm/mapping.js +31 -31
- package/dist/esm/mapping.js.map +1 -1
- package/dist/esm/msgpack/index.d.ts +8 -8
- package/dist/esm/msgpack/index.js +32 -32
- package/dist/esm/msgpack/index.js.map +1 -1
- package/dist/esm/pagination.d.ts +23 -23
- package/dist/esm/pagination.js +1 -1
- package/dist/esm/problem-details.d.ts +7 -7
- package/dist/esm/problem-details.js +1 -1
- package/dist/esm/query-string.d.ts +6 -6
- package/dist/esm/query-string.js +63 -61
- package/dist/esm/query-string.js.map +1 -1
- package/dist/esm/query-string.spec.d.ts +1 -1
- package/dist/esm/query-string.spec.js +49 -49
- package/dist/esm/status-codes.d.ts +67 -67
- package/dist/esm/status-codes.js +67 -67
- package/dist/esm/timeout-error.d.ts +3 -3
- package/dist/esm/timeout-error.js +9 -9
- package/package.json +15 -17
- package/plugins/json/node_modules/@utiliread/http/package.json +4 -0
- package/plugins/json/src/index.ts +124 -122
- package/plugins/jsonpatch/node_modules/@utiliread/http/package.json +4 -0
- package/plugins/jsonpatch/src/index.ts +31 -31
- package/plugins/msgpack/node_modules/@utiliread/http/package.json +4 -0
- package/plugins/msgpack/src/index.ts +67 -60
- package/src/event-aggregator.ts +21 -21
- package/src/events.ts +39 -39
- package/src/helpers.ts +6 -6
- package/src/http-builder.ts +252 -218
- package/src/http-error.ts +30 -23
- package/src/http-response.ts +1 -1
- package/src/http.spec.ts +1 -1
- package/src/http.ts +8 -5
- package/src/index.ts +1 -1
- package/src/mapping.ts +40 -32
- package/src/pagination.ts +16 -16
- package/src/problem-details.ts +6 -6
- package/src/query-string.spec.ts +59 -43
- package/src/query-string.ts +56 -58
- package/src/status-codes.ts +67 -67
- package/src/timeout-error.ts +7 -7
- package/tsconfig.cjs.json +1 -0
- package/tsconfig.json +1 -1
- package/web-test-runner.config.mjs +7 -0
- package/karma.config.js +0 -29
- package/src/mapping.d.ts +0 -9
- package/src/mapping.js +0 -32
- package/src/mapping.js.map +0 -1
package/dist/esm/http-builder.js
CHANGED
|
@@ -1,187 +1,187 @@
|
|
|
1
|
-
import { HttpResponse, HttpResponseOfT } from './http-response';
|
|
2
|
-
import { TimeoutError } from './timeout-error';
|
|
3
|
-
import { EventAggregator } from './event-aggregator';
|
|
4
|
-
export class HttpBuilder {
|
|
5
|
-
constructor(message, options, /** @internal */ http) {
|
|
6
|
-
this.message = message;
|
|
7
|
-
this.options = options;
|
|
8
|
-
this.http = http;
|
|
9
|
-
this._ensureSuccessStatusCode = true;
|
|
10
|
-
this._onSend = new EventAggregator();
|
|
11
|
-
this._onSent = new EventAggregator();
|
|
12
|
-
}
|
|
13
|
-
onSend(callback) {
|
|
14
|
-
this._onSend.subscribe(callback);
|
|
15
|
-
return this;
|
|
16
|
-
}
|
|
17
|
-
onSent(callback) {
|
|
18
|
-
this._onSent.subscribe(callback);
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
useHandler(handler) {
|
|
22
|
-
return new HttpBuilderOfT(this, handler);
|
|
23
|
-
}
|
|
24
|
-
async send(abortSignal) {
|
|
25
|
-
if (this.message.contentType) {
|
|
26
|
-
this.message.headers.set('Content-Type', this.message.contentType);
|
|
27
|
-
}
|
|
28
|
-
// Resolve the final url and assign it to the message
|
|
29
|
-
// This makes the final url apper in onSend, onSent, and on Received handlers
|
|
30
|
-
this.message.url = this.getUrl();
|
|
31
|
-
await this._onSend.publish(this.message);
|
|
32
|
-
await this.http._onSend.publish(this.message);
|
|
33
|
-
const init = {
|
|
34
|
-
method: this.message.method,
|
|
35
|
-
body: this.message.content,
|
|
36
|
-
headers: this.message.headers,
|
|
37
|
-
mode: this.message.mode
|
|
38
|
-
};
|
|
39
|
-
if (abortSignal || this.options.timeout) {
|
|
40
|
-
var outerController = new AbortController();
|
|
41
|
-
if (abortSignal) {
|
|
42
|
-
abortSignal.addEventListener("abort", () => {
|
|
43
|
-
outerController.abort();
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
init.signal = outerController.signal;
|
|
47
|
-
}
|
|
48
|
-
const fetchResponsePromise = this.options.fetch(this.message.url, init);
|
|
49
|
-
let fetchResponse;
|
|
50
|
-
if (this.options.timeout) {
|
|
51
|
-
fetchResponse = await Promise.race([
|
|
52
|
-
fetchResponsePromise,
|
|
53
|
-
new Promise((_, reject) => setTimeout(() => {
|
|
54
|
-
outerController.abort();
|
|
55
|
-
reject(new TimeoutError());
|
|
56
|
-
}, this.options.timeout))
|
|
57
|
-
]);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
fetchResponse = await fetchResponsePromise;
|
|
61
|
-
}
|
|
62
|
-
const httpResponse = new HttpResponse(fetchResponse);
|
|
63
|
-
if (this._ensureSuccessStatusCode) {
|
|
64
|
-
httpResponse.ensureSuccessfulStatusCode();
|
|
65
|
-
}
|
|
66
|
-
await this._onSent.publish(httpResponse, this.message);
|
|
67
|
-
await this.http._onSent.publish(httpResponse, this.message);
|
|
68
|
-
return httpResponse;
|
|
69
|
-
}
|
|
70
|
-
getUrl() {
|
|
71
|
-
let baseUrl = this.options.baseUrl;
|
|
72
|
-
if (!baseUrl) {
|
|
73
|
-
return this.message.url;
|
|
74
|
-
}
|
|
75
|
-
if (baseUrl.endsWith('/')) {
|
|
76
|
-
baseUrl = baseUrl.substr(0, baseUrl.length - 1);
|
|
77
|
-
}
|
|
78
|
-
if (this.message.url.startsWith('/')) {
|
|
79
|
-
return baseUrl + this.message.url;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
return baseUrl + '/' + this.message.url;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
ensureSuccessStatusCode(ensureSuccessStatusCode) {
|
|
86
|
-
this._ensureSuccessStatusCode = ensureSuccessStatusCode === false ? false : true;
|
|
87
|
-
return this;
|
|
88
|
-
}
|
|
89
|
-
useCors(mode) {
|
|
90
|
-
this.message.mode = mode;
|
|
91
|
-
return this;
|
|
92
|
-
}
|
|
93
|
-
useTimeout(timeout) {
|
|
94
|
-
this.options.timeout = timeout || undefined;
|
|
95
|
-
return this;
|
|
96
|
-
}
|
|
97
|
-
// Content Extensions
|
|
98
|
-
with(content, contentType) {
|
|
99
|
-
this.message.content = content;
|
|
100
|
-
this.message.contentType = contentType;
|
|
101
|
-
return this;
|
|
102
|
-
}
|
|
103
|
-
withForm(content) {
|
|
104
|
-
this.message.content = content;
|
|
105
|
-
this.message.contentType = undefined;
|
|
106
|
-
return this;
|
|
107
|
-
}
|
|
108
|
-
// Modifier Extensions
|
|
109
|
-
addHeader(name, value) {
|
|
110
|
-
this.message.headers.append(name, value);
|
|
111
|
-
return this;
|
|
112
|
-
}
|
|
113
|
-
// Expect Extensions
|
|
114
|
-
expectString() {
|
|
115
|
-
return this.useHandler(response => {
|
|
116
|
-
return response.rawResponse.text();
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
expectBinary() {
|
|
120
|
-
return this.useHandler(response => {
|
|
121
|
-
return response.rawResponse.arrayBuffer();
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
export class HttpBuilderOfT extends HttpBuilder {
|
|
126
|
-
constructor(inner, handler) {
|
|
127
|
-
super(inner.message, inner.options, inner.http);
|
|
128
|
-
this.inner = inner;
|
|
129
|
-
this.handler = handler;
|
|
130
|
-
this._onReceived = new EventAggregator();
|
|
131
|
-
}
|
|
132
|
-
onSend(callback) {
|
|
133
|
-
this.inner.onSend(callback);
|
|
134
|
-
return this;
|
|
135
|
-
}
|
|
136
|
-
onSent(callback) {
|
|
137
|
-
this.inner.onSent(callback);
|
|
138
|
-
return this;
|
|
139
|
-
}
|
|
140
|
-
ensureSuccessStatusCode(ensureSuccessStatusCode) {
|
|
141
|
-
this.inner.ensureSuccessStatusCode(ensureSuccessStatusCode);
|
|
142
|
-
return this;
|
|
143
|
-
}
|
|
144
|
-
useCors(mode) {
|
|
145
|
-
this.inner.useCors(mode);
|
|
146
|
-
return this;
|
|
147
|
-
}
|
|
148
|
-
useTimeout(timeout) {
|
|
149
|
-
this.inner.useTimeout(timeout);
|
|
150
|
-
return this;
|
|
151
|
-
}
|
|
152
|
-
allowEmptyResponse() {
|
|
153
|
-
if (this._onReceived.any) {
|
|
154
|
-
throw new Error("onReceived() must be called after allowEmptyResponse() because the callback type changes");
|
|
155
|
-
}
|
|
156
|
-
return new HttpBuilderOfT(this.inner, response => {
|
|
157
|
-
if (response.statusCode === 204) {
|
|
158
|
-
return Promise.resolve(null);
|
|
159
|
-
}
|
|
160
|
-
return this.handler(response);
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
onReceived(callback) {
|
|
164
|
-
this._onReceived.subscribe(callback);
|
|
165
|
-
return this;
|
|
166
|
-
}
|
|
167
|
-
send(abortSignal) {
|
|
168
|
-
const responsePromise = this.inner.send(abortSignal).then(x => new HttpResponseOfT(x.rawResponse, this.handler));
|
|
169
|
-
return asSendPromise(responsePromise, () => responsePromise.then(response => this.handleReceive(response)));
|
|
170
|
-
}
|
|
171
|
-
transfer(abortSignal) {
|
|
172
|
-
return this.send(abortSignal).then(response => this.handleReceive(response));
|
|
173
|
-
}
|
|
174
|
-
async handleReceive(response) {
|
|
175
|
-
const request = this.message;
|
|
176
|
-
const value = await response.receive();
|
|
177
|
-
await this._onReceived.publish(response, request, value);
|
|
178
|
-
await this.http._onReceived.publish(response, request, value);
|
|
179
|
-
return value;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
function asSendPromise(responsePromise, thenReceive) {
|
|
183
|
-
const sendPromise = responsePromise;
|
|
184
|
-
sendPromise.thenReceive = thenReceive;
|
|
185
|
-
return sendPromise;
|
|
186
|
-
}
|
|
1
|
+
import { HttpResponse, HttpResponseOfT } from './http-response';
|
|
2
|
+
import { TimeoutError } from './timeout-error';
|
|
3
|
+
import { EventAggregator } from './event-aggregator';
|
|
4
|
+
export class HttpBuilder {
|
|
5
|
+
constructor(message, options, /** @internal */ http) {
|
|
6
|
+
this.message = message;
|
|
7
|
+
this.options = options;
|
|
8
|
+
this.http = http;
|
|
9
|
+
this._ensureSuccessStatusCode = true;
|
|
10
|
+
this._onSend = new EventAggregator();
|
|
11
|
+
this._onSent = new EventAggregator();
|
|
12
|
+
}
|
|
13
|
+
onSend(callback) {
|
|
14
|
+
this._onSend.subscribe(callback);
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
onSent(callback) {
|
|
18
|
+
this._onSent.subscribe(callback);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
useHandler(handler) {
|
|
22
|
+
return new HttpBuilderOfT(this, handler);
|
|
23
|
+
}
|
|
24
|
+
async send(abortSignal) {
|
|
25
|
+
if (this.message.contentType) {
|
|
26
|
+
this.message.headers.set('Content-Type', this.message.contentType);
|
|
27
|
+
}
|
|
28
|
+
// Resolve the final url and assign it to the message
|
|
29
|
+
// This makes the final url apper in onSend, onSent, and on Received handlers
|
|
30
|
+
this.message.url = this.getUrl();
|
|
31
|
+
await this._onSend.publish(this.message);
|
|
32
|
+
await this.http._onSend.publish(this.message);
|
|
33
|
+
const init = {
|
|
34
|
+
method: this.message.method,
|
|
35
|
+
body: this.message.content,
|
|
36
|
+
headers: this.message.headers,
|
|
37
|
+
mode: this.message.mode
|
|
38
|
+
};
|
|
39
|
+
if (abortSignal || this.options.timeout) {
|
|
40
|
+
var outerController = new AbortController();
|
|
41
|
+
if (abortSignal) {
|
|
42
|
+
abortSignal.addEventListener("abort", () => {
|
|
43
|
+
outerController.abort();
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
init.signal = outerController.signal;
|
|
47
|
+
}
|
|
48
|
+
const fetchResponsePromise = this.options.fetch(this.message.url, init);
|
|
49
|
+
let fetchResponse;
|
|
50
|
+
if (this.options.timeout) {
|
|
51
|
+
fetchResponse = await Promise.race([
|
|
52
|
+
fetchResponsePromise,
|
|
53
|
+
new Promise((_, reject) => setTimeout(() => {
|
|
54
|
+
outerController.abort();
|
|
55
|
+
reject(new TimeoutError());
|
|
56
|
+
}, this.options.timeout))
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
fetchResponse = await fetchResponsePromise;
|
|
61
|
+
}
|
|
62
|
+
const httpResponse = new HttpResponse(fetchResponse);
|
|
63
|
+
if (this._ensureSuccessStatusCode) {
|
|
64
|
+
httpResponse.ensureSuccessfulStatusCode();
|
|
65
|
+
}
|
|
66
|
+
await this._onSent.publish(httpResponse, this.message);
|
|
67
|
+
await this.http._onSent.publish(httpResponse, this.message);
|
|
68
|
+
return httpResponse;
|
|
69
|
+
}
|
|
70
|
+
getUrl() {
|
|
71
|
+
let baseUrl = this.options.baseUrl;
|
|
72
|
+
if (!baseUrl) {
|
|
73
|
+
return this.message.url;
|
|
74
|
+
}
|
|
75
|
+
if (baseUrl.endsWith('/')) {
|
|
76
|
+
baseUrl = baseUrl.substr(0, baseUrl.length - 1);
|
|
77
|
+
}
|
|
78
|
+
if (this.message.url.startsWith('/')) {
|
|
79
|
+
return baseUrl + this.message.url;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return baseUrl + '/' + this.message.url;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
ensureSuccessStatusCode(ensureSuccessStatusCode) {
|
|
86
|
+
this._ensureSuccessStatusCode = ensureSuccessStatusCode === false ? false : true;
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
useCors(mode) {
|
|
90
|
+
this.message.mode = mode;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
useTimeout(timeout) {
|
|
94
|
+
this.options.timeout = timeout || undefined;
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
// Content Extensions
|
|
98
|
+
with(content, contentType) {
|
|
99
|
+
this.message.content = content;
|
|
100
|
+
this.message.contentType = contentType;
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
withForm(content) {
|
|
104
|
+
this.message.content = content;
|
|
105
|
+
this.message.contentType = undefined;
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
// Modifier Extensions
|
|
109
|
+
addHeader(name, value) {
|
|
110
|
+
this.message.headers.append(name, value);
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
// Expect Extensions
|
|
114
|
+
expectString() {
|
|
115
|
+
return this.useHandler(response => {
|
|
116
|
+
return response.rawResponse.text();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
expectBinary() {
|
|
120
|
+
return this.useHandler(response => {
|
|
121
|
+
return response.rawResponse.arrayBuffer();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export class HttpBuilderOfT extends HttpBuilder {
|
|
126
|
+
constructor(inner, handler) {
|
|
127
|
+
super(inner.message, inner.options, inner.http);
|
|
128
|
+
this.inner = inner;
|
|
129
|
+
this.handler = handler;
|
|
130
|
+
this._onReceived = new EventAggregator();
|
|
131
|
+
}
|
|
132
|
+
onSend(callback) {
|
|
133
|
+
this.inner.onSend(callback);
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
onSent(callback) {
|
|
137
|
+
this.inner.onSent(callback);
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
ensureSuccessStatusCode(ensureSuccessStatusCode) {
|
|
141
|
+
this.inner.ensureSuccessStatusCode(ensureSuccessStatusCode);
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
useCors(mode) {
|
|
145
|
+
this.inner.useCors(mode);
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
useTimeout(timeout) {
|
|
149
|
+
this.inner.useTimeout(timeout);
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
allowEmptyResponse() {
|
|
153
|
+
if (this._onReceived.any) {
|
|
154
|
+
throw new Error("onReceived() must be called after allowEmptyResponse() because the callback type changes");
|
|
155
|
+
}
|
|
156
|
+
return new HttpBuilderOfT(this.inner, response => {
|
|
157
|
+
if (response.statusCode === 204) {
|
|
158
|
+
return Promise.resolve(null);
|
|
159
|
+
}
|
|
160
|
+
return this.handler(response);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
onReceived(callback) {
|
|
164
|
+
this._onReceived.subscribe(callback);
|
|
165
|
+
return this;
|
|
166
|
+
}
|
|
167
|
+
send(abortSignal) {
|
|
168
|
+
const responsePromise = this.inner.send(abortSignal).then(x => new HttpResponseOfT(x.rawResponse, this.handler));
|
|
169
|
+
return asSendPromise(responsePromise, () => responsePromise.then(response => this.handleReceive(response)));
|
|
170
|
+
}
|
|
171
|
+
transfer(abortSignal) {
|
|
172
|
+
return this.send(abortSignal).then(response => this.handleReceive(response));
|
|
173
|
+
}
|
|
174
|
+
async handleReceive(response) {
|
|
175
|
+
const request = this.message;
|
|
176
|
+
const value = await response.receive();
|
|
177
|
+
await this._onReceived.publish(response, request, value);
|
|
178
|
+
await this.http._onReceived.publish(response, request, value);
|
|
179
|
+
return value;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
function asSendPromise(responsePromise, thenReceive) {
|
|
183
|
+
const sendPromise = responsePromise;
|
|
184
|
+
sendPromise.thenReceive = thenReceive;
|
|
185
|
+
return sendPromise;
|
|
186
|
+
}
|
|
187
187
|
//# sourceMappingURL=http-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-builder.js","sourceRoot":"","sources":["../../src/http-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,OAAO,WAAW;IAKpB,YAAmB,OAAgB,EAAS,OAAuB,EAAE,gBAAgB,CAAQ,IAAU;QAApF,YAAO,GAAP,OAAO,CAAS;QAAS,YAAO,GAAP,OAAO,CAAgB;QAA0B,SAAI,GAAJ,IAAI,CAAM;QAJ/F,6BAAwB,GAAG,IAAI,CAAC;QAChC,YAAO,GAAG,IAAI,eAAe,EAAa,CAAC;QAC3C,YAAO,GAAG,IAAI,eAAe,EAA2B,CAAC;IAGjE,CAAC;IAED,MAAM,CAAC,QAAoD;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,QAA4E;QAC/E,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAI,OAA+C;QACzD,OAAO,IAAI,cAAc,CAAI,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAyB;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"http-builder.js","sourceRoot":"","sources":["../../src/http-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/http-error.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { HttpResponse } from './http-response';
|
|
2
|
-
import { ProblemDetails } from './problem-details';
|
|
3
|
-
export declare class HttpError extends Error {
|
|
4
|
-
statusCode: number;
|
|
5
|
-
private response;
|
|
6
|
-
private detailsPromise?;
|
|
7
|
-
get hasDetails(): boolean | undefined;
|
|
8
|
-
constructor(statusCode: number, response?: HttpResponse | undefined);
|
|
9
|
-
details<TDetails = ProblemDetails>(): Promise<TDetails>;
|
|
10
|
-
}
|
|
1
|
+
import { HttpResponse } from './http-response';
|
|
2
|
+
import { ProblemDetails } from './problem-details';
|
|
3
|
+
export declare class HttpError extends Error {
|
|
4
|
+
statusCode: number;
|
|
5
|
+
private response;
|
|
6
|
+
private detailsPromise?;
|
|
7
|
+
get hasDetails(): boolean | undefined;
|
|
8
|
+
constructor(statusCode: number, response?: HttpResponse | undefined);
|
|
9
|
+
details<TDetails = ProblemDetails>(): Promise<TDetails>;
|
|
10
|
+
}
|
package/dist/esm/http-error.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
export class HttpError extends Error {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
this.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
details() {
|
|
17
|
-
var _a, _b;
|
|
18
|
-
const rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
|
|
19
|
-
if (rawResponse && this.hasDetails) {
|
|
20
|
-
(_b = this.detailsPromise) !== null && _b !== void 0 ? _b : (this.detailsPromise = rawResponse.json().then(details => details));
|
|
21
|
-
return this.detailsPromise.then(details => details);
|
|
22
|
-
}
|
|
23
|
-
return Promise.reject(new Error("There are no problem details in the response"));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
export class HttpError extends Error {
|
|
2
|
+
get hasDetails() {
|
|
3
|
+
var _a, _b;
|
|
4
|
+
const contentType = (_b = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse) === null || _b === void 0 ? void 0 : _b.headers.get("Content-Type");
|
|
5
|
+
return contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/problem+json");
|
|
6
|
+
}
|
|
7
|
+
constructor(statusCode, response = undefined) {
|
|
8
|
+
super(`The response was not successful: ${statusCode}`);
|
|
9
|
+
this.statusCode = statusCode;
|
|
10
|
+
this.response = response;
|
|
11
|
+
this.name = 'HttpError';
|
|
12
|
+
// Set the prototype explicitly to allow for "... instanceof HttpError",
|
|
13
|
+
// see https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
14
|
+
Object.setPrototypeOf(this, HttpError.prototype);
|
|
15
|
+
}
|
|
16
|
+
details() {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
|
|
19
|
+
if (rawResponse && this.hasDetails) {
|
|
20
|
+
(_b = this.detailsPromise) !== null && _b !== void 0 ? _b : (this.detailsPromise = rawResponse.json().then(details => details));
|
|
21
|
+
return this.detailsPromise.then(details => details);
|
|
22
|
+
}
|
|
23
|
+
return Promise.reject(new Error("There are no problem details in the response"));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
26
|
//# sourceMappingURL=http-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAU,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGhC,IAAI,UAAU;;QACV,MAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,0CAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5E,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC7D,CAAC;IAED,YAAmB,UAAkB,EAAU,WAAqC,SAAS;QACzF,KAAK,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;QADzC,eAAU,GAAV,UAAU,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAsC;QAEzF,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAExB,wEAAwE;QACxE,mJAAmJ;QACnJ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;;QACH,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAA,IAAI,CAAC,cAAc,oCAAnB,IAAI,CAAC,cAAc,GAAK,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAiB,OAAO,CAAC,EAAC;YACpF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAW,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
export declare class HttpResponse {
|
|
2
|
-
rawResponse: Response;
|
|
3
|
-
get url(): string;
|
|
4
|
-
get statusCode(): number;
|
|
5
|
-
get headers(): Headers;
|
|
6
|
-
get isInformational(): boolean;
|
|
7
|
-
get isSuccessful(): boolean;
|
|
8
|
-
get isRedirection(): boolean;
|
|
9
|
-
get isClientError(): boolean;
|
|
10
|
-
get isServerError(): boolean;
|
|
11
|
-
constructor(rawResponse: Response);
|
|
12
|
-
ensureSuccessfulStatusCode(): this;
|
|
13
|
-
}
|
|
14
|
-
export declare class HttpResponseOfT<T> extends HttpResponse {
|
|
15
|
-
private handler;
|
|
16
|
-
constructor(rawResponse: Response, handler: (response: HttpResponse) => Promise<T>);
|
|
17
|
-
receive(): Promise<T>;
|
|
18
|
-
}
|
|
1
|
+
export declare class HttpResponse {
|
|
2
|
+
rawResponse: Response;
|
|
3
|
+
get url(): string;
|
|
4
|
+
get statusCode(): number;
|
|
5
|
+
get headers(): Headers;
|
|
6
|
+
get isInformational(): boolean;
|
|
7
|
+
get isSuccessful(): boolean;
|
|
8
|
+
get isRedirection(): boolean;
|
|
9
|
+
get isClientError(): boolean;
|
|
10
|
+
get isServerError(): boolean;
|
|
11
|
+
constructor(rawResponse: Response);
|
|
12
|
+
ensureSuccessfulStatusCode(): this;
|
|
13
|
+
}
|
|
14
|
+
export declare class HttpResponseOfT<T> extends HttpResponse {
|
|
15
|
+
private handler;
|
|
16
|
+
constructor(rawResponse: Response, handler: (response: HttpResponse) => Promise<T>);
|
|
17
|
+
receive(): Promise<T>;
|
|
18
|
+
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { HttpError } from "./http-error";
|
|
2
|
-
export class HttpResponse {
|
|
3
|
-
|
|
4
|
-
this.rawResponse
|
|
5
|
-
}
|
|
6
|
-
get
|
|
7
|
-
return this.rawResponse.
|
|
8
|
-
}
|
|
9
|
-
get
|
|
10
|
-
return this.rawResponse.
|
|
11
|
-
}
|
|
12
|
-
get
|
|
13
|
-
return this.
|
|
14
|
-
}
|
|
15
|
-
get
|
|
16
|
-
return this.statusCode >=
|
|
17
|
-
}
|
|
18
|
-
get
|
|
19
|
-
return this.statusCode >=
|
|
20
|
-
}
|
|
21
|
-
get
|
|
22
|
-
return this.statusCode >=
|
|
23
|
-
}
|
|
24
|
-
get
|
|
25
|
-
return this.statusCode >=
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
ensureSuccessfulStatusCode() {
|
|
31
|
-
if (!this.isSuccessful) {
|
|
32
|
-
throw new HttpError(this.statusCode, this);
|
|
33
|
-
}
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export class HttpResponseOfT extends HttpResponse {
|
|
38
|
-
constructor(rawResponse, handler) {
|
|
39
|
-
super(rawResponse);
|
|
40
|
-
this.handler = handler;
|
|
41
|
-
}
|
|
42
|
-
receive() {
|
|
43
|
-
return this.handler(this);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
import { HttpError } from "./http-error";
|
|
2
|
+
export class HttpResponse {
|
|
3
|
+
get url() {
|
|
4
|
+
return this.rawResponse.url;
|
|
5
|
+
}
|
|
6
|
+
get statusCode() {
|
|
7
|
+
return this.rawResponse.status;
|
|
8
|
+
}
|
|
9
|
+
get headers() {
|
|
10
|
+
return this.rawResponse.headers;
|
|
11
|
+
}
|
|
12
|
+
get isInformational() {
|
|
13
|
+
return this.statusCode >= 100 && this.statusCode < 200;
|
|
14
|
+
}
|
|
15
|
+
get isSuccessful() {
|
|
16
|
+
return this.statusCode >= 200 && this.statusCode < 300;
|
|
17
|
+
}
|
|
18
|
+
get isRedirection() {
|
|
19
|
+
return this.statusCode >= 300 && this.statusCode < 400;
|
|
20
|
+
}
|
|
21
|
+
get isClientError() {
|
|
22
|
+
return this.statusCode >= 400 && this.statusCode < 500;
|
|
23
|
+
}
|
|
24
|
+
get isServerError() {
|
|
25
|
+
return this.statusCode >= 500 && this.statusCode < 600;
|
|
26
|
+
}
|
|
27
|
+
constructor(rawResponse) {
|
|
28
|
+
this.rawResponse = rawResponse;
|
|
29
|
+
}
|
|
30
|
+
ensureSuccessfulStatusCode() {
|
|
31
|
+
if (!this.isSuccessful) {
|
|
32
|
+
throw new HttpError(this.statusCode, this);
|
|
33
|
+
}
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export class HttpResponseOfT extends HttpResponse {
|
|
38
|
+
constructor(rawResponse, handler) {
|
|
39
|
+
super(rawResponse);
|
|
40
|
+
this.handler = handler;
|
|
41
|
+
}
|
|
42
|
+
receive() {
|
|
43
|
+
return this.handler(this);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
46
|
//# sourceMappingURL=http-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,YAAY;IACvB,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACzD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACzD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACzD,CAAC;IAED,YAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IAAG,CAAC;IAErC,0BAA0B;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,OAAO,eAAmB,SAAQ,YAAY;IAClD,YACE,WAAqB,EACb,OAA+C;QAEvD,KAAK,CAAC,WAAW,CAAC,CAAC;QAFX,YAAO,GAAP,OAAO,CAAwC;IAGzD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF"}
|