@utiliread/http 1.17.8 → 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.
Files changed (105) hide show
  1. package/.vscode/settings.json +2 -2
  2. package/dist/cjs/event-aggregator.js +29 -29
  3. package/dist/cjs/event-aggregator.js.map +1 -1
  4. package/dist/cjs/events.js +18 -18
  5. package/dist/cjs/events.js.map +1 -1
  6. package/dist/cjs/helpers.js +15 -15
  7. package/dist/cjs/http-builder.js +191 -191
  8. package/dist/cjs/http-builder.js.map +1 -1
  9. package/dist/cjs/http-error.js +29 -29
  10. package/dist/cjs/http-error.js.map +1 -1
  11. package/dist/cjs/http-response.js +50 -50
  12. package/dist/cjs/http-response.js.map +1 -1
  13. package/dist/cjs/http.js +95 -95
  14. package/dist/cjs/http.js.map +1 -1
  15. package/dist/cjs/http.spec.js +68 -68
  16. package/dist/cjs/http.spec.js.map +1 -1
  17. package/dist/cjs/index.js +37 -37
  18. package/dist/cjs/json/index.js +73 -73
  19. package/dist/cjs/jsonpatch/index.js +14 -14
  20. package/dist/cjs/mapping.js +36 -36
  21. package/dist/cjs/mapping.js.map +1 -1
  22. package/dist/cjs/msgpack/index.js +34 -34
  23. package/dist/cjs/msgpack/index.js.map +1 -1
  24. package/dist/cjs/pagination.js +2 -2
  25. package/dist/cjs/problem-details.js +2 -2
  26. package/dist/cjs/query-string.js +67 -65
  27. package/dist/cjs/query-string.js.map +1 -1
  28. package/dist/cjs/query-string.spec.js +51 -51
  29. package/dist/cjs/status-codes.js +70 -70
  30. package/dist/cjs/timeout-error.js +13 -13
  31. package/dist/esm/event-aggregator.d.ts +11 -11
  32. package/dist/esm/event-aggregator.js +25 -25
  33. package/dist/esm/event-aggregator.js.map +1 -1
  34. package/dist/esm/events.d.ts +11 -11
  35. package/dist/esm/events.js +14 -14
  36. package/dist/esm/events.js.map +1 -1
  37. package/dist/esm/helpers.d.ts +5 -5
  38. package/dist/esm/helpers.js +9 -9
  39. package/dist/esm/http-builder.d.ts +60 -60
  40. package/dist/esm/http-builder.js +186 -186
  41. package/dist/esm/http-builder.js.map +1 -1
  42. package/dist/esm/http-error.d.ts +10 -10
  43. package/dist/esm/http-error.js +25 -25
  44. package/dist/esm/http-error.js.map +1 -1
  45. package/dist/esm/http-response.d.ts +18 -18
  46. package/dist/esm/http-response.js +45 -45
  47. package/dist/esm/http-response.js.map +1 -1
  48. package/dist/esm/http.d.ts +33 -33
  49. package/dist/esm/http.js +91 -91
  50. package/dist/esm/http.js.map +1 -1
  51. package/dist/esm/http.spec.d.ts +1 -1
  52. package/dist/esm/http.spec.js +66 -66
  53. package/dist/esm/http.spec.js.map +1 -1
  54. package/dist/esm/index.d.ts +15 -15
  55. package/dist/esm/index.js +10 -10
  56. package/dist/esm/json/index.d.ts +15 -15
  57. package/dist/esm/json/index.js +71 -71
  58. package/dist/esm/jsonpatch/index.d.ts +9 -9
  59. package/dist/esm/jsonpatch/index.js +12 -12
  60. package/dist/esm/mapping.d.ts +9 -9
  61. package/dist/esm/mapping.js +31 -31
  62. package/dist/esm/mapping.js.map +1 -1
  63. package/dist/esm/msgpack/index.d.ts +8 -8
  64. package/dist/esm/msgpack/index.js +32 -32
  65. package/dist/esm/msgpack/index.js.map +1 -1
  66. package/dist/esm/pagination.d.ts +23 -23
  67. package/dist/esm/pagination.js +1 -1
  68. package/dist/esm/problem-details.d.ts +7 -7
  69. package/dist/esm/problem-details.js +1 -1
  70. package/dist/esm/query-string.d.ts +6 -6
  71. package/dist/esm/query-string.js +63 -61
  72. package/dist/esm/query-string.js.map +1 -1
  73. package/dist/esm/query-string.spec.d.ts +1 -1
  74. package/dist/esm/query-string.spec.js +49 -49
  75. package/dist/esm/status-codes.d.ts +67 -67
  76. package/dist/esm/status-codes.js +67 -67
  77. package/dist/esm/timeout-error.d.ts +3 -3
  78. package/dist/esm/timeout-error.js +9 -9
  79. package/package.json +10 -12
  80. package/plugins/json/node_modules/@utiliread/http/package.json +4 -0
  81. package/plugins/json/src/index.ts +124 -122
  82. package/plugins/jsonpatch/node_modules/@utiliread/http/package.json +4 -0
  83. package/plugins/jsonpatch/src/index.ts +31 -31
  84. package/plugins/msgpack/node_modules/@utiliread/http/package.json +4 -0
  85. package/plugins/msgpack/src/index.ts +67 -60
  86. package/src/event-aggregator.ts +21 -21
  87. package/src/events.ts +39 -39
  88. package/src/helpers.ts +6 -6
  89. package/src/http-builder.ts +252 -218
  90. package/src/http-error.ts +30 -23
  91. package/src/http-response.ts +1 -1
  92. package/src/http.spec.ts +1 -1
  93. package/src/http.ts +8 -5
  94. package/src/index.ts +1 -1
  95. package/src/mapping.ts +40 -32
  96. package/src/pagination.ts +16 -16
  97. package/src/problem-details.ts +6 -6
  98. package/src/query-string.spec.ts +59 -43
  99. package/src/query-string.ts +56 -58
  100. package/src/status-codes.ts +67 -67
  101. package/src/timeout-error.ts +7 -7
  102. package/tsconfig.cjs.json +1 -0
  103. package/tsconfig.json +1 -1
  104. package/web-test-runner.config.mjs +7 -0
  105. package/karma.config.js +0 -29
@@ -1,3 +1,3 @@
1
- {
2
- "typescript.tsdk": "node_modules\\typescript\\lib"
1
+ {
2
+ "typescript.tsdk": "node_modules\\typescript\\lib"
3
3
  }
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventAggregator = void 0;
4
- class EventAggregator {
5
- constructor() {
6
- this.callbacks = [];
7
- }
8
- get any() {
9
- return this.callbacks.length > 0;
10
- }
11
- subscribe(callback) {
12
- this.callbacks.push(callback);
13
- return {
14
- dispose: () => {
15
- const index = this.callbacks.indexOf(callback);
16
- if (index >= 0) {
17
- this.callbacks.splice(index, 1);
18
- }
19
- }
20
- };
21
- }
22
- async publish(...params) {
23
- const callbacks = this.callbacks.slice();
24
- for (const callback of callbacks) {
25
- await Promise.resolve(callback.apply(this, params));
26
- }
27
- }
28
- }
29
- exports.EventAggregator = EventAggregator;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventAggregator = void 0;
4
+ class EventAggregator {
5
+ constructor() {
6
+ this.callbacks = [];
7
+ }
8
+ get any() {
9
+ return this.callbacks.length > 0;
10
+ }
11
+ subscribe(callback) {
12
+ this.callbacks.push(callback);
13
+ return {
14
+ dispose: () => {
15
+ const index = this.callbacks.indexOf(callback);
16
+ if (index >= 0) {
17
+ this.callbacks.splice(index, 1);
18
+ }
19
+ }
20
+ };
21
+ }
22
+ async publish(...params) {
23
+ const callbacks = this.callbacks.slice();
24
+ for (const callback of callbacks) {
25
+ await Promise.resolve(callback.apply(this, params));
26
+ }
27
+ }
28
+ }
29
+ exports.EventAggregator = EventAggregator;
30
30
  //# sourceMappingURL=event-aggregator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-aggregator.js","sourceRoot":"","sources":["../../src/event-aggregator.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAA5B;QACY,cAAS,GAAe,EAAE,CAAC;IAwBvC,CAAC;IAtBG,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,QAAqB;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;YACH,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,KAAK,IAAI,CAAC,EAAE;oBACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACnC;YACL,CAAC;SACJ,CAAA;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,MAAS;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;SACvD;IACL,CAAC;CACJ;AAzBD,0CAyBC"}
1
+ {"version":3,"file":"event-aggregator.js","sourceRoot":"","sources":["../../src/event-aggregator.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAA5B;QACY,cAAS,GAAe,EAAE,CAAC;IAwBvC,CAAC;IAtBG,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,QAAqB;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;YACH,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;SACJ,CAAA;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,MAAS;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;CACJ;AAzBD,0CAyBC"}
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.events = void 0;
4
- const http_builder_1 = require("./http-builder");
5
- function events(action, configure) {
6
- return function (...params) {
7
- const builder = action(...params);
8
- const events = configure(...params);
9
- if (events.sent) {
10
- builder.onSent(events.sent);
11
- }
12
- if (builder instanceof http_builder_1.HttpBuilderOfT && events.received) {
13
- builder.onReceived(events.received);
14
- }
15
- return builder;
16
- };
17
- }
18
- exports.events = events;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.events = void 0;
4
+ const http_builder_1 = require("./http-builder");
5
+ function events(action, configure) {
6
+ return function (...params) {
7
+ const builder = action(...params);
8
+ const events = configure(...params);
9
+ if (events.sent) {
10
+ builder.onSent(events.sent);
11
+ }
12
+ if (builder instanceof http_builder_1.HttpBuilderOfT && events.received) {
13
+ builder.onReceived(events.received);
14
+ }
15
+ return builder;
16
+ };
17
+ }
18
+ exports.events = events;
19
19
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";;;AAAA,iDAAsE;AAuBtE,SAAgB,MAAM,CACpB,MAA2B,EAC3B,SAAkD;IAElD,OAAO,UAAU,GAAG,MAAS;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC7B;QACD,IAAI,OAAO,YAAY,6BAAc,IAAI,MAAM,CAAC,QAAQ,EAAE;YACxD,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAfD,wBAeC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";;;AAAA,iDAAsE;AAuBtE,SAAgB,MAAM,CACpB,MAA2B,EAC3B,SAAkD;IAElD,OAAO,UAAU,GAAG,MAAS;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,YAAY,6BAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzD,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAfD,wBAeC"}
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTimeoutError = exports.isAbortError = exports.isHttpError = void 0;
4
- function isHttpError(error) {
5
- return error.name === "HttpError";
6
- }
7
- exports.isHttpError = isHttpError;
8
- function isAbortError(error) {
9
- return error.name === "AbortError";
10
- }
11
- exports.isAbortError = isAbortError;
12
- function isTimeoutError(error) {
13
- return error.name === "TimeoutError";
14
- }
15
- exports.isTimeoutError = isTimeoutError;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTimeoutError = exports.isAbortError = exports.isHttpError = void 0;
4
+ function isHttpError(error) {
5
+ return error.name === "HttpError";
6
+ }
7
+ exports.isHttpError = isHttpError;
8
+ function isAbortError(error) {
9
+ return error.name === "AbortError";
10
+ }
11
+ exports.isAbortError = isAbortError;
12
+ function isTimeoutError(error) {
13
+ return error.name === "TimeoutError";
14
+ }
15
+ exports.isTimeoutError = isTimeoutError;
16
16
  //# sourceMappingURL=helpers.js.map
@@ -1,192 +1,192 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpBuilderOfT = exports.HttpBuilder = void 0;
4
- const http_response_1 = require("./http-response");
5
- const timeout_error_1 = require("./timeout-error");
6
- const event_aggregator_1 = require("./event-aggregator");
7
- class HttpBuilder {
8
- constructor(message, options, /** @internal */ http) {
9
- this.message = message;
10
- this.options = options;
11
- this.http = http;
12
- this._ensureSuccessStatusCode = true;
13
- this._onSend = new event_aggregator_1.EventAggregator();
14
- this._onSent = new event_aggregator_1.EventAggregator();
15
- }
16
- onSend(callback) {
17
- this._onSend.subscribe(callback);
18
- return this;
19
- }
20
- onSent(callback) {
21
- this._onSent.subscribe(callback);
22
- return this;
23
- }
24
- useHandler(handler) {
25
- return new HttpBuilderOfT(this, handler);
26
- }
27
- async send(abortSignal) {
28
- if (this.message.contentType) {
29
- this.message.headers.set('Content-Type', this.message.contentType);
30
- }
31
- // Resolve the final url and assign it to the message
32
- // This makes the final url apper in onSend, onSent, and on Received handlers
33
- this.message.url = this.getUrl();
34
- await this._onSend.publish(this.message);
35
- await this.http._onSend.publish(this.message);
36
- const init = {
37
- method: this.message.method,
38
- body: this.message.content,
39
- headers: this.message.headers,
40
- mode: this.message.mode
41
- };
42
- if (abortSignal || this.options.timeout) {
43
- var outerController = new AbortController();
44
- if (abortSignal) {
45
- abortSignal.addEventListener("abort", () => {
46
- outerController.abort();
47
- });
48
- }
49
- init.signal = outerController.signal;
50
- }
51
- const fetchResponsePromise = this.options.fetch(this.message.url, init);
52
- let fetchResponse;
53
- if (this.options.timeout) {
54
- fetchResponse = await Promise.race([
55
- fetchResponsePromise,
56
- new Promise((_, reject) => setTimeout(() => {
57
- outerController.abort();
58
- reject(new timeout_error_1.TimeoutError());
59
- }, this.options.timeout))
60
- ]);
61
- }
62
- else {
63
- fetchResponse = await fetchResponsePromise;
64
- }
65
- const httpResponse = new http_response_1.HttpResponse(fetchResponse);
66
- if (this._ensureSuccessStatusCode) {
67
- httpResponse.ensureSuccessfulStatusCode();
68
- }
69
- await this._onSent.publish(httpResponse, this.message);
70
- await this.http._onSent.publish(httpResponse, this.message);
71
- return httpResponse;
72
- }
73
- getUrl() {
74
- let baseUrl = this.options.baseUrl;
75
- if (!baseUrl) {
76
- return this.message.url;
77
- }
78
- if (baseUrl.endsWith('/')) {
79
- baseUrl = baseUrl.substr(0, baseUrl.length - 1);
80
- }
81
- if (this.message.url.startsWith('/')) {
82
- return baseUrl + this.message.url;
83
- }
84
- else {
85
- return baseUrl + '/' + this.message.url;
86
- }
87
- }
88
- ensureSuccessStatusCode(ensureSuccessStatusCode) {
89
- this._ensureSuccessStatusCode = ensureSuccessStatusCode === false ? false : true;
90
- return this;
91
- }
92
- useCors(mode) {
93
- this.message.mode = mode;
94
- return this;
95
- }
96
- useTimeout(timeout) {
97
- this.options.timeout = timeout || undefined;
98
- return this;
99
- }
100
- // Content Extensions
101
- with(content, contentType) {
102
- this.message.content = content;
103
- this.message.contentType = contentType;
104
- return this;
105
- }
106
- withForm(content) {
107
- this.message.content = content;
108
- this.message.contentType = undefined;
109
- return this;
110
- }
111
- // Modifier Extensions
112
- addHeader(name, value) {
113
- this.message.headers.append(name, value);
114
- return this;
115
- }
116
- // Expect Extensions
117
- expectString() {
118
- return this.useHandler(response => {
119
- return response.rawResponse.text();
120
- });
121
- }
122
- expectBinary() {
123
- return this.useHandler(response => {
124
- return response.rawResponse.arrayBuffer();
125
- });
126
- }
127
- }
128
- exports.HttpBuilder = HttpBuilder;
129
- class HttpBuilderOfT extends HttpBuilder {
130
- constructor(inner, handler) {
131
- super(inner.message, inner.options, inner.http);
132
- this.inner = inner;
133
- this.handler = handler;
134
- this._onReceived = new event_aggregator_1.EventAggregator();
135
- }
136
- onSend(callback) {
137
- this.inner.onSend(callback);
138
- return this;
139
- }
140
- onSent(callback) {
141
- this.inner.onSent(callback);
142
- return this;
143
- }
144
- ensureSuccessStatusCode(ensureSuccessStatusCode) {
145
- this.inner.ensureSuccessStatusCode(ensureSuccessStatusCode);
146
- return this;
147
- }
148
- useCors(mode) {
149
- this.inner.useCors(mode);
150
- return this;
151
- }
152
- useTimeout(timeout) {
153
- this.inner.useTimeout(timeout);
154
- return this;
155
- }
156
- allowEmptyResponse() {
157
- if (this._onReceived.any) {
158
- throw new Error("onReceived() must be called after allowEmptyResponse() because the callback type changes");
159
- }
160
- return new HttpBuilderOfT(this.inner, response => {
161
- if (response.statusCode === 204) {
162
- return Promise.resolve(null);
163
- }
164
- return this.handler(response);
165
- });
166
- }
167
- onReceived(callback) {
168
- this._onReceived.subscribe(callback);
169
- return this;
170
- }
171
- send(abortSignal) {
172
- const responsePromise = this.inner.send(abortSignal).then(x => new http_response_1.HttpResponseOfT(x.rawResponse, this.handler));
173
- return asSendPromise(responsePromise, () => responsePromise.then(response => this.handleReceive(response)));
174
- }
175
- transfer(abortSignal) {
176
- return this.send(abortSignal).then(response => this.handleReceive(response));
177
- }
178
- async handleReceive(response) {
179
- const request = this.message;
180
- const value = await response.receive();
181
- await this._onReceived.publish(response, request, value);
182
- await this.http._onReceived.publish(response, request, value);
183
- return value;
184
- }
185
- }
186
- exports.HttpBuilderOfT = HttpBuilderOfT;
187
- function asSendPromise(responsePromise, thenReceive) {
188
- const sendPromise = responsePromise;
189
- sendPromise.thenReceive = thenReceive;
190
- return sendPromise;
191
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpBuilderOfT = exports.HttpBuilder = void 0;
4
+ const http_response_1 = require("./http-response");
5
+ const timeout_error_1 = require("./timeout-error");
6
+ const event_aggregator_1 = require("./event-aggregator");
7
+ class HttpBuilder {
8
+ constructor(message, options, /** @internal */ http) {
9
+ this.message = message;
10
+ this.options = options;
11
+ this.http = http;
12
+ this._ensureSuccessStatusCode = true;
13
+ this._onSend = new event_aggregator_1.EventAggregator();
14
+ this._onSent = new event_aggregator_1.EventAggregator();
15
+ }
16
+ onSend(callback) {
17
+ this._onSend.subscribe(callback);
18
+ return this;
19
+ }
20
+ onSent(callback) {
21
+ this._onSent.subscribe(callback);
22
+ return this;
23
+ }
24
+ useHandler(handler) {
25
+ return new HttpBuilderOfT(this, handler);
26
+ }
27
+ async send(abortSignal) {
28
+ if (this.message.contentType) {
29
+ this.message.headers.set('Content-Type', this.message.contentType);
30
+ }
31
+ // Resolve the final url and assign it to the message
32
+ // This makes the final url apper in onSend, onSent, and on Received handlers
33
+ this.message.url = this.getUrl();
34
+ await this._onSend.publish(this.message);
35
+ await this.http._onSend.publish(this.message);
36
+ const init = {
37
+ method: this.message.method,
38
+ body: this.message.content,
39
+ headers: this.message.headers,
40
+ mode: this.message.mode
41
+ };
42
+ if (abortSignal || this.options.timeout) {
43
+ var outerController = new AbortController();
44
+ if (abortSignal) {
45
+ abortSignal.addEventListener("abort", () => {
46
+ outerController.abort();
47
+ });
48
+ }
49
+ init.signal = outerController.signal;
50
+ }
51
+ const fetchResponsePromise = this.options.fetch(this.message.url, init);
52
+ let fetchResponse;
53
+ if (this.options.timeout) {
54
+ fetchResponse = await Promise.race([
55
+ fetchResponsePromise,
56
+ new Promise((_, reject) => setTimeout(() => {
57
+ outerController.abort();
58
+ reject(new timeout_error_1.TimeoutError());
59
+ }, this.options.timeout))
60
+ ]);
61
+ }
62
+ else {
63
+ fetchResponse = await fetchResponsePromise;
64
+ }
65
+ const httpResponse = new http_response_1.HttpResponse(fetchResponse);
66
+ if (this._ensureSuccessStatusCode) {
67
+ httpResponse.ensureSuccessfulStatusCode();
68
+ }
69
+ await this._onSent.publish(httpResponse, this.message);
70
+ await this.http._onSent.publish(httpResponse, this.message);
71
+ return httpResponse;
72
+ }
73
+ getUrl() {
74
+ let baseUrl = this.options.baseUrl;
75
+ if (!baseUrl) {
76
+ return this.message.url;
77
+ }
78
+ if (baseUrl.endsWith('/')) {
79
+ baseUrl = baseUrl.substr(0, baseUrl.length - 1);
80
+ }
81
+ if (this.message.url.startsWith('/')) {
82
+ return baseUrl + this.message.url;
83
+ }
84
+ else {
85
+ return baseUrl + '/' + this.message.url;
86
+ }
87
+ }
88
+ ensureSuccessStatusCode(ensureSuccessStatusCode) {
89
+ this._ensureSuccessStatusCode = ensureSuccessStatusCode === false ? false : true;
90
+ return this;
91
+ }
92
+ useCors(mode) {
93
+ this.message.mode = mode;
94
+ return this;
95
+ }
96
+ useTimeout(timeout) {
97
+ this.options.timeout = timeout || undefined;
98
+ return this;
99
+ }
100
+ // Content Extensions
101
+ with(content, contentType) {
102
+ this.message.content = content;
103
+ this.message.contentType = contentType;
104
+ return this;
105
+ }
106
+ withForm(content) {
107
+ this.message.content = content;
108
+ this.message.contentType = undefined;
109
+ return this;
110
+ }
111
+ // Modifier Extensions
112
+ addHeader(name, value) {
113
+ this.message.headers.append(name, value);
114
+ return this;
115
+ }
116
+ // Expect Extensions
117
+ expectString() {
118
+ return this.useHandler(response => {
119
+ return response.rawResponse.text();
120
+ });
121
+ }
122
+ expectBinary() {
123
+ return this.useHandler(response => {
124
+ return response.rawResponse.arrayBuffer();
125
+ });
126
+ }
127
+ }
128
+ exports.HttpBuilder = HttpBuilder;
129
+ class HttpBuilderOfT extends HttpBuilder {
130
+ constructor(inner, handler) {
131
+ super(inner.message, inner.options, inner.http);
132
+ this.inner = inner;
133
+ this.handler = handler;
134
+ this._onReceived = new event_aggregator_1.EventAggregator();
135
+ }
136
+ onSend(callback) {
137
+ this.inner.onSend(callback);
138
+ return this;
139
+ }
140
+ onSent(callback) {
141
+ this.inner.onSent(callback);
142
+ return this;
143
+ }
144
+ ensureSuccessStatusCode(ensureSuccessStatusCode) {
145
+ this.inner.ensureSuccessStatusCode(ensureSuccessStatusCode);
146
+ return this;
147
+ }
148
+ useCors(mode) {
149
+ this.inner.useCors(mode);
150
+ return this;
151
+ }
152
+ useTimeout(timeout) {
153
+ this.inner.useTimeout(timeout);
154
+ return this;
155
+ }
156
+ allowEmptyResponse() {
157
+ if (this._onReceived.any) {
158
+ throw new Error("onReceived() must be called after allowEmptyResponse() because the callback type changes");
159
+ }
160
+ return new HttpBuilderOfT(this.inner, response => {
161
+ if (response.statusCode === 204) {
162
+ return Promise.resolve(null);
163
+ }
164
+ return this.handler(response);
165
+ });
166
+ }
167
+ onReceived(callback) {
168
+ this._onReceived.subscribe(callback);
169
+ return this;
170
+ }
171
+ send(abortSignal) {
172
+ const responsePromise = this.inner.send(abortSignal).then(x => new http_response_1.HttpResponseOfT(x.rawResponse, this.handler));
173
+ return asSendPromise(responsePromise, () => responsePromise.then(response => this.handleReceive(response)));
174
+ }
175
+ transfer(abortSignal) {
176
+ return this.send(abortSignal).then(response => this.handleReceive(response));
177
+ }
178
+ async handleReceive(response) {
179
+ const request = this.message;
180
+ const value = await response.receive();
181
+ await this._onReceived.publish(response, request, value);
182
+ await this.http._onReceived.publish(response, request, value);
183
+ return value;
184
+ }
185
+ }
186
+ exports.HttpBuilderOfT = HttpBuilderOfT;
187
+ function asSendPromise(responsePromise, thenReceive) {
188
+ const sendPromise = responsePromise;
189
+ sendPromise.thenReceive = thenReceive;
190
+ return sendPromise;
191
+ }
192
192
  //# sourceMappingURL=http-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-builder.js","sourceRoot":"","sources":["../../src/http-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-builder.js","sourceRoot":"","sources":["../../src/http-builder.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpError = void 0;
4
- class HttpError extends Error {
5
- constructor(statusCode, response = undefined) {
6
- super(`The response was not successful: ${statusCode}`);
7
- this.statusCode = statusCode;
8
- this.response = response;
9
- this.name = 'HttpError';
10
- // Set the prototype explicitly to allow for "... instanceof HttpError",
11
- // see https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
12
- Object.setPrototypeOf(this, HttpError.prototype);
13
- }
14
- get hasDetails() {
15
- var _a, _b;
16
- 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");
17
- return contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/problem+json");
18
- }
19
- details() {
20
- var _a, _b;
21
- const rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
22
- if (rawResponse && this.hasDetails) {
23
- (_b = this.detailsPromise) !== null && _b !== void 0 ? _b : (this.detailsPromise = rawResponse.json().then(details => details));
24
- return this.detailsPromise.then(details => details);
25
- }
26
- return Promise.reject(new Error("There are no problem details in the response"));
27
- }
28
- }
29
- exports.HttpError = HttpError;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpError = void 0;
4
+ class HttpError extends Error {
5
+ get hasDetails() {
6
+ var _a, _b;
7
+ 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");
8
+ return contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/problem+json");
9
+ }
10
+ constructor(statusCode, response = undefined) {
11
+ super(`The response was not successful: ${statusCode}`);
12
+ this.statusCode = statusCode;
13
+ this.response = response;
14
+ this.name = 'HttpError';
15
+ // Set the prototype explicitly to allow for "... instanceof HttpError",
16
+ // see https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
17
+ Object.setPrototypeOf(this, HttpError.prototype);
18
+ }
19
+ details() {
20
+ var _a, _b;
21
+ const rawResponse = (_a = this.response) === null || _a === void 0 ? void 0 : _a.rawResponse;
22
+ if (rawResponse && this.hasDetails) {
23
+ (_b = this.detailsPromise) !== null && _b !== void 0 ? _b : (this.detailsPromise = rawResponse.json().then(details => details));
24
+ return this.detailsPromise.then(details => details);
25
+ }
26
+ return Promise.reject(new Error("There are no problem details in the response"));
27
+ }
28
+ }
29
+ exports.HttpError = HttpError;
30
30
  //# sourceMappingURL=http-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;AAGA,MAAa,SAAU,SAAQ,KAAK;IAQhC,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;IAZD,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;IAWD,OAAO;;QACH,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,CAAC;QAE/C,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YAChC,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;SACjE;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ;AA3BD,8BA2BC"}
1
+ {"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../src/http-error.ts"],"names":[],"mappings":";;;AAGA,MAAa,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;AA3BD,8BA2BC"}