@utiliread/http 1.1.8 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,20 @@
1
- import { Fetch, Options } from './http';
1
+ import { Fetch } from './http';
2
2
  import { HttpResponse, HttpResponseOfT } from './http-response';
3
- import { Settings } from './settings';
3
+ import { Http } from '.';
4
4
  export declare class HttpBuilder {
5
5
  message: Message;
6
- options: Options;
6
+ options: RequestOptions;
7
7
  private _ensureSuccessStatusCode;
8
8
  private _onSend;
9
9
  private _onSent;
10
- constructor(message: Message, options: Options);
11
- onSend(callback: (request: Message) => void | Promise<any>): this;
12
- onSent(callback: (request: Message, response: HttpResponse) => void | Promise<any>): this;
10
+ constructor(message: Message, options: RequestOptions, /** @internal */ http: Http);
11
+ onSend(callback: (request: Message) => void | Promise<void>): this;
12
+ onSent(callback: (response: HttpResponse, request: Message) => void | Promise<void>): this;
13
13
  protected useHandler<T>(handler: (response: Response) => Promise<T>): HttpBuilderOfT<T>;
14
14
  send(abortSignal?: AbortSignal): Promise<HttpResponse>;
15
15
  getUrl(): string;
16
16
  ensureSuccessStatusCode(ensureSuccessStatusCode?: boolean): this;
17
- use(settings: Settings): this;
18
- useFetch(fetch: Fetch): this;
19
17
  useCors(mode: RequestMode): this;
20
- useBaseUrl(baseUrl: string): this;
21
18
  useTimeout(timeout: number | null): this;
22
19
  with(content: any, contentType?: string): this;
23
20
  withForm(content: FormData): this;
@@ -30,16 +27,13 @@ export declare class HttpBuilderOfT<T> extends HttpBuilder {
30
27
  private handler;
31
28
  private _onReceived;
32
29
  constructor(inner: HttpBuilder, handler: (response: Response) => Promise<T>);
33
- onSend(callback: (request: Message) => void | Promise<any>): this;
34
- onSent(callback: (request: Message, response: HttpResponse) => void | Promise<any>): this;
30
+ onSend(callback: (request: Message) => void | Promise<void>): this;
31
+ onSent(callback: (response: HttpResponse, request: Message) => void | Promise<void>): this;
35
32
  ensureSuccessStatusCode(ensureSuccessStatusCode?: boolean): this;
36
- use(settings: Settings): this;
37
- useFetch(fetch: Fetch): this;
38
33
  useCors(mode: RequestMode): this;
39
- useBaseUrl(baseUrl: string): this;
40
34
  useTimeout(timeout: number): this;
41
35
  allowEmptyResponse(): HttpBuilderOfT<T | null>;
42
- onReceived(callback: (request: Message, response: HttpResponseOfT<T>, value: T) => void | Promise<any>): this;
36
+ onReceived(callback: (response: HttpResponseOfT<T>, request: Message, value: T) => void | Promise<void>): this;
43
37
  send(abortSignal?: AbortSignal): SendPromise<T>;
44
38
  transfer(abortSignal?: AbortSignal): Promise<T>;
45
39
  private handleReceive;
@@ -53,6 +47,11 @@ export interface Message {
53
47
  contentType?: string;
54
48
  mode?: RequestMode;
55
49
  }
50
+ export interface RequestOptions {
51
+ fetch: Fetch;
52
+ timeout?: number;
53
+ baseUrl?: string;
54
+ }
56
55
  export interface SendPromise<T> extends Promise<HttpResponseOfT<T>> {
57
56
  thenReceive(): Promise<T>;
58
57
  }
@@ -51,23 +51,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  };
52
52
  import { HttpResponse, HttpResponseOfT } from './http-response';
53
53
  import { TimeoutError } from './timeout-error';
54
+ import { EventAggregator } from './event-aggregator';
54
55
  var HttpBuilder = /** @class */ (function () {
55
- function HttpBuilder(message, options) {
56
+ function HttpBuilder(message, options, /** @internal */ http) {
56
57
  this.message = message;
57
58
  this.options = options;
59
+ this.http = http;
58
60
  this._ensureSuccessStatusCode = true;
59
- this._onSend = [];
60
- this._onSent = [];
61
- if (options.onSent) {
62
- this._onSent.push(options.onSent);
63
- }
61
+ this._onSend = new EventAggregator();
62
+ this._onSent = new EventAggregator();
64
63
  }
65
64
  HttpBuilder.prototype.onSend = function (callback) {
66
- this._onSend.push(callback);
65
+ this._onSend.subscribe(callback);
67
66
  return this;
68
67
  };
69
68
  HttpBuilder.prototype.onSent = function (callback) {
70
- this._onSent.push(callback);
69
+ this._onSent.subscribe(callback);
71
70
  return this;
72
71
  };
73
72
  HttpBuilder.prototype.useHandler = function (handler) {
@@ -75,33 +74,23 @@ var HttpBuilder = /** @class */ (function () {
75
74
  };
76
75
  HttpBuilder.prototype.send = function (abortSignal) {
77
76
  return __awaiter(this, void 0, void 0, function () {
78
- var _i, _a, callback, init, outerController, fetchResponsePromise, fetchResponse, httpResponse, _b, _c, callback;
77
+ var init, outerController, fetchResponsePromise, fetchResponse, httpResponse;
79
78
  var _this = this;
80
- return __generator(this, function (_d) {
81
- switch (_d.label) {
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
82
81
  case 0:
83
- if (!this.options.fetch) {
84
- throw Error('fetch() is not properly configured');
85
- }
86
82
  if (this.message.contentType) {
87
83
  this.message.headers.set('Content-Type', this.message.contentType);
88
84
  }
89
85
  // Resolve the final url and assign it to the message
90
86
  // This makes the final url apper in onSend, onSent, and on Received handlers
91
87
  this.message.url = this.getUrl();
92
- _i = 0, _a = this._onSend;
93
- _d.label = 1;
88
+ return [4 /*yield*/, this._onSend.publish(this.message)];
94
89
  case 1:
95
- if (!(_i < _a.length)) return [3 /*break*/, 4];
96
- callback = _a[_i];
97
- return [4 /*yield*/, Promise.resolve(callback(this.message))];
90
+ _a.sent();
91
+ return [4 /*yield*/, this.http._onSend.publish(this.message)];
98
92
  case 2:
99
- _d.sent();
100
- _d.label = 3;
101
- case 3:
102
- _i++;
103
- return [3 /*break*/, 1];
104
- case 4:
93
+ _a.sent();
105
94
  init = {
106
95
  method: this.message.method,
107
96
  body: this.message.content,
@@ -118,7 +107,7 @@ var HttpBuilder = /** @class */ (function () {
118
107
  init.signal = outerController.signal;
119
108
  }
120
109
  fetchResponsePromise = this.options.fetch(this.message.url, init);
121
- if (!this.options.timeout) return [3 /*break*/, 6];
110
+ if (!this.options.timeout) return [3 /*break*/, 4];
122
111
  return [4 /*yield*/, Promise.race([
123
112
  fetchResponsePromise,
124
113
  new Promise(function (_, reject) { return setTimeout(function () {
@@ -126,31 +115,25 @@ var HttpBuilder = /** @class */ (function () {
126
115
  reject(new TimeoutError());
127
116
  }, _this.options.timeout); })
128
117
  ])];
118
+ case 3:
119
+ fetchResponse = _a.sent();
120
+ return [3 /*break*/, 6];
121
+ case 4: return [4 /*yield*/, fetchResponsePromise];
129
122
  case 5:
130
- fetchResponse = _d.sent();
131
- return [3 /*break*/, 8];
132
- case 6: return [4 /*yield*/, fetchResponsePromise];
133
- case 7:
134
- fetchResponse = _d.sent();
135
- _d.label = 8;
136
- case 8:
123
+ fetchResponse = _a.sent();
124
+ _a.label = 6;
125
+ case 6:
137
126
  httpResponse = new HttpResponse(fetchResponse);
138
127
  if (this._ensureSuccessStatusCode) {
139
128
  httpResponse.ensureSuccessfulStatusCode();
140
129
  }
141
- _b = 0, _c = this._onSent;
142
- _d.label = 9;
143
- case 9:
144
- if (!(_b < _c.length)) return [3 /*break*/, 12];
145
- callback = _c[_b];
146
- return [4 /*yield*/, Promise.resolve(callback(this.message, httpResponse))];
147
- case 10:
148
- _d.sent();
149
- _d.label = 11;
150
- case 11:
151
- _b++;
152
- return [3 /*break*/, 9];
153
- case 12: return [2 /*return*/, httpResponse];
130
+ return [4 /*yield*/, this._onSent.publish(httpResponse, this.message)];
131
+ case 7:
132
+ _a.sent();
133
+ return [4 /*yield*/, this.http._onSent.publish(httpResponse, this.message)];
134
+ case 8:
135
+ _a.sent();
136
+ return [2 /*return*/, httpResponse];
154
137
  }
155
138
  });
156
139
  });
@@ -174,30 +157,10 @@ var HttpBuilder = /** @class */ (function () {
174
157
  this._ensureSuccessStatusCode = ensureSuccessStatusCode === false ? false : true;
175
158
  return this;
176
159
  };
177
- HttpBuilder.prototype.use = function (settings) {
178
- if (settings.fetch) {
179
- this.useFetch(settings.fetch);
180
- }
181
- if (settings.corsMode) {
182
- this.useCors(settings.corsMode);
183
- }
184
- if (settings.baseUrl) {
185
- this.useBaseUrl(settings.baseUrl);
186
- }
187
- return this;
188
- };
189
- HttpBuilder.prototype.useFetch = function (fetch) {
190
- this.options.fetch = fetch;
191
- return this;
192
- };
193
160
  HttpBuilder.prototype.useCors = function (mode) {
194
161
  this.message.mode = mode;
195
162
  return this;
196
163
  };
197
- HttpBuilder.prototype.useBaseUrl = function (baseUrl) {
198
- this.options.baseUrl = baseUrl;
199
- return this;
200
- };
201
164
  HttpBuilder.prototype.useTimeout = function (timeout) {
202
165
  this.options.timeout = timeout || undefined;
203
166
  return this;
@@ -235,13 +198,10 @@ export { HttpBuilder };
235
198
  var HttpBuilderOfT = /** @class */ (function (_super) {
236
199
  __extends(HttpBuilderOfT, _super);
237
200
  function HttpBuilderOfT(inner, handler) {
238
- var _this = _super.call(this, inner.message, inner.options) || this;
201
+ var _this = _super.call(this, inner.message, inner.options, inner.http) || this;
239
202
  _this.inner = inner;
240
203
  _this.handler = handler;
241
- _this._onReceived = [];
242
- if (inner.options.onReceived) {
243
- _this._onReceived.push(inner.options.onReceived);
244
- }
204
+ _this._onReceived = new EventAggregator();
245
205
  return _this;
246
206
  }
247
207
  HttpBuilderOfT.prototype.onSend = function (callback) {
@@ -256,30 +216,18 @@ var HttpBuilderOfT = /** @class */ (function (_super) {
256
216
  this.inner.ensureSuccessStatusCode(ensureSuccessStatusCode);
257
217
  return this;
258
218
  };
259
- HttpBuilderOfT.prototype.use = function (settings) {
260
- this.inner.use(settings);
261
- return this;
262
- };
263
- HttpBuilderOfT.prototype.useFetch = function (fetch) {
264
- this.inner.useFetch(fetch);
265
- return this;
266
- };
267
219
  HttpBuilderOfT.prototype.useCors = function (mode) {
268
220
  this.inner.useCors(mode);
269
221
  return this;
270
222
  };
271
- HttpBuilderOfT.prototype.useBaseUrl = function (baseUrl) {
272
- this.inner.useBaseUrl(baseUrl);
273
- return this;
274
- };
275
223
  HttpBuilderOfT.prototype.useTimeout = function (timeout) {
276
224
  this.inner.useTimeout(timeout);
277
225
  return this;
278
226
  };
279
227
  HttpBuilderOfT.prototype.allowEmptyResponse = function () {
280
228
  var _this = this;
281
- if (this._onReceived.length) {
282
- throw new Error("onReceived() should only be called after allowEmptyResponse()");
229
+ if (this._onReceived.any) {
230
+ throw new Error("onReceived() must be called after allowEmptyResponse() because the callback type changes");
283
231
  }
284
232
  return new HttpBuilderOfT(this.inner, function (response) {
285
233
  if (response.status === 204) {
@@ -289,7 +237,7 @@ var HttpBuilderOfT = /** @class */ (function (_super) {
289
237
  });
290
238
  };
291
239
  HttpBuilderOfT.prototype.onReceived = function (callback) {
292
- this._onReceived.push(callback);
240
+ this._onReceived.subscribe(callback);
293
241
  return this;
294
242
  };
295
243
  HttpBuilderOfT.prototype.send = function (abortSignal) {
@@ -303,27 +251,21 @@ var HttpBuilderOfT = /** @class */ (function (_super) {
303
251
  };
304
252
  HttpBuilderOfT.prototype.handleReceive = function (response) {
305
253
  return __awaiter(this, void 0, void 0, function () {
306
- var request, value, _i, _a, callback;
307
- return __generator(this, function (_b) {
308
- switch (_b.label) {
254
+ var request, value;
255
+ return __generator(this, function (_a) {
256
+ switch (_a.label) {
309
257
  case 0:
310
258
  request = this.message;
311
259
  return [4 /*yield*/, response.receive()];
312
260
  case 1:
313
- value = _b.sent();
314
- _i = 0, _a = this._onReceived;
315
- _b.label = 2;
261
+ value = _a.sent();
262
+ return [4 /*yield*/, this._onReceived.publish(response, request, value)];
316
263
  case 2:
317
- if (!(_i < _a.length)) return [3 /*break*/, 5];
318
- callback = _a[_i];
319
- return [4 /*yield*/, Promise.resolve(callback(request, response, value))];
264
+ _a.sent();
265
+ return [4 /*yield*/, this.http._onReceived.publish(response, request, value)];
320
266
  case 3:
321
- _b.sent();
322
- _b.label = 4;
323
- case 4:
324
- _i++;
325
- return [3 /*break*/, 2];
326
- case 5: return [2 /*return*/, value];
267
+ _a.sent();
268
+ return [2 /*return*/, value];
327
269
  }
328
270
  });
329
271
  });
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IAKI,qBAAmB,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,4BAAM,GAAN,UAAO,QAAoD;QACvD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4BAAM,GAAN,UAAO,QAA4E;QAC/E,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,gCAAU,GAApB,UAAwB,OAA2C;QAC/D,OAAO,IAAI,cAAc,CAAI,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAEK,0BAAI,GAAV,UAAW,WAAyB;;;;;;;wBAChC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;4BAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;yBACtE;wBAED,qDAAqD;wBACrD,6EAA6E;wBAC7E,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBAEjC,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAxC,SAAwC,CAAC;wBACzC,qBAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAA7C,SAA6C,CAAC;wBAExC,IAAI,GAAgB;4BACtB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;4BAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;4BAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;4BAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;yBAC1B,CAAC;wBAEF,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;4BACjC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;4BAC5C,IAAI,WAAW,EAAE;gCACb,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE;oCAClC,eAAe,CAAC,KAAK,EAAE,CAAC;gCAC5B,CAAC,CAAC,CAAC;6BACN;4BAED,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;yBACxC;wBAEK,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;6BAGpE,IAAI,CAAC,OAAO,CAAC,OAAO,EAApB,wBAAoB;wBACJ,qBAAM,OAAO,CAAC,IAAI,CAAC;gCAC/B,oBAAoB;gCACpB,IAAI,OAAO,CAAW,UAAC,CAAC,EAAE,MAAM,IAAK,OAAA,UAAU,CAAC;oCAC5C,eAAe,CAAC,KAAK,EAAE,CAAC;oCACxB,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;gCAC/B,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAHa,CAGb,CAAC;6BAC5B,CAAC,EAAA;;wBANF,aAAa,GAAG,SAMd,CAAC;;4BAGa,qBAAM,oBAAoB,EAAA;;wBAA1C,aAAa,GAAG,SAA0B,CAAC;;;wBAGzC,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;wBAErD,IAAI,IAAI,CAAC,wBAAwB,EAAE;4BAC/B,YAAY,CAAC,0BAA0B,EAAE,CAAC;yBAC7C;wBAED,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;wBACvD,qBAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAA3D,SAA2D,CAAC;wBAE5D,sBAAO,YAAY,EAAC;;;;KACvB;IAED,4BAAM,GAAN;QACI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3B;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAClC,OAAO,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACrC;aACI;YACD,OAAO,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3C;IACL,CAAC;IAED,6CAAuB,GAAvB,UAAwB,uBAAiC;QACrD,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAAO,GAAP,UAAQ,IAAiB;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gCAAU,GAAV,UAAW,OAAsB;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qBAAqB;IAErB,0BAAI,GAAJ,UAAK,OAAY,EAAE,WAAoB;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,8BAAQ,GAAR,UAAS,OAAiB;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,sBAAsB;IAEtB,+BAAS,GAAT,UAAU,IAAY,EAAE,KAAa;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IAEpB,kCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,UAAA,QAAQ;YAC3B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kCAAY,GAAZ;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,UAAA,QAAQ;YAC3B,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IACL,kBAAC;AAAD,CAAC,AApJD,IAoJC;;AAED;IAAuC,kCAAW;IAG9C,wBAAoB,KAAkB,EAAU,OAA2C;QAA3F,YACI,kBAAM,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,SAClD;QAFmB,WAAK,GAAL,KAAK,CAAa;QAAU,aAAO,GAAP,OAAO,CAAoC;QAFnF,iBAAW,GAAG,IAAI,eAAe,EAAoC,CAAC;;IAI9E,CAAC;IAED,+BAAM,GAAN,UAAO,QAAoD;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAM,GAAN,UAAO,QAA4E;QAC/E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gDAAuB,GAAvB,UAAwB,uBAAiC;QACrD,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAiB;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAU,GAAV,UAAW,OAAe;QACtB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2CAAkB,GAAlB;QAAA,iBAYC;QAXG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;SAC/G;QAED,OAAO,IAAI,cAAc,CAAW,IAAI,CAAC,KAAK,EAAE,UAAA,QAAQ;YACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBACzB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAChC;YAED,OAAO,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mCAAU,GAAV,UAAW,QAA4F;QACnG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAAI,GAAJ,UAAK,WAAyB;QAA9B,iBAIC;QAHG,IAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,eAAe,CAAI,CAAC,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,EAAnD,CAAmD,CAAC,CAAC;QAEpH,OAAO,aAAa,CAAC,eAAe,EAAE,cAAM,OAAA,eAAe,CAAC,IAAI,CAAC,UAAA,QAAQ,IAAI,OAAA,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAA5B,CAA4B,CAAC,EAA9D,CAA8D,CAAC,CAAC;IAChH,CAAC;IAED,iCAAQ,GAAR,UAAS,WAAyB;QAAlC,iBAEC;QADG,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAA,QAAQ,IAAI,OAAA,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAA5B,CAA4B,CAAC,CAAC;IACjF,CAAC;IAEa,sCAAa,GAA3B,UAA4B,QAA4B;;;;;;wBAC9C,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBACf,qBAAM,QAAQ,CAAC,OAAO,EAAE,EAAA;;wBAAhC,KAAK,GAAG,SAAwB;wBAEtC,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;wBACzD,qBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAA7D,SAA6D,CAAC;wBAE9D,sBAAO,KAAK,EAAC;;;;KAChB;IACL,qBAAC;AAAD,CAAC,AAtED,CAAuC,WAAW,GAsEjD;;AAuBD,SAAS,aAAa,CAAI,eAAsC,EAAE,WAA6B;IAC3F,IAAM,WAAW,GAAG,eAAiC,CAAC;IACtD,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;IACtC,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -2,6 +2,7 @@ export declare class HttpResponse {
2
2
  rawResponse: Response;
3
3
  get url(): string;
4
4
  get statusCode(): number;
5
+ get headers(): Headers;
5
6
  get isInformational(): boolean;
6
7
  get isSuccessful(): boolean;
7
8
  get isRedirection(): boolean;
@@ -32,6 +32,13 @@ var HttpResponse = /** @class */ (function () {
32
32
  enumerable: false,
33
33
  configurable: true
34
34
  });
35
+ Object.defineProperty(HttpResponse.prototype, "headers", {
36
+ get: function () {
37
+ return this.rawResponse.headers;
38
+ },
39
+ enumerable: false,
40
+ configurable: true
41
+ });
35
42
  Object.defineProperty(HttpResponse.prototype, "isInformational", {
36
43
  get: function () {
37
44
  return this.statusCode >= 100 && this.statusCode < 200;
@@ -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;IA6BI,sBAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IACxC,CAAC;IA7BD,sBAAI,6BAAG;aAAP;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAKD,iDAA0B,GAA1B;QACI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,mBAAC;AAAD,CAAC,AAvCD,IAuCC;;AAED;IAAwC,mCAAY;IAChD,yBAAY,WAAqB,EAAU,OAA2C;QAAtF,YACI,kBAAM,WAAW,CAAC,SACrB;QAF0C,aAAO,GAAP,OAAO,CAAoC;;IAEtF,CAAC;IAED,iCAAO,GAAP;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACL,sBAAC;AAAD,CAAC,AARD,CAAwC,YAAY,GAQnD"}
1
+ {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../src/http-response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;IAiCI,sBAAmB,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IACxC,CAAC;IAjCD,sBAAI,6BAAG;aAAP;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;;;OAAA;IAED,sBAAI,iCAAO;aAAX;YACI,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACI,OAAO,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAC3D,CAAC;;;OAAA;IAKD,iDAA0B,GAA1B;QACI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,mBAAC;AAAD,CAAC,AA3CD,IA2CC;;AAED;IAAwC,mCAAY;IAChD,yBAAY,WAAqB,EAAU,OAA2C;QAAtF,YACI,kBAAM,WAAW,CAAC,SACrB;QAF0C,aAAO,GAAP,OAAO,CAAoC;;IAEtF,CAAC;IAED,iCAAO,GAAP;QACI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IACL,sBAAC;AAAD,CAAC,AARD,CAAwC,YAAY,GAQnD"}
@@ -2,10 +2,10 @@ import { HttpBuilder, HttpMethod, Message } from './http-builder';
2
2
  import { HttpResponse, HttpResponseOfT } from './http-response';
3
3
  export declare type Fetch = (input: RequestInfo, init?: RequestInit) => Promise<Response>;
4
4
  export declare class Http {
5
- static defaults: Options;
5
+ static defaults: HttpOptions;
6
6
  private static instance?;
7
- options: Readonly<Options>;
8
- constructor(options?: Partial<Options>);
7
+ options: HttpOptions;
8
+ constructor(options?: Partial<HttpOptions>);
9
9
  static request(method: HttpMethod, url: string, params?: any): HttpBuilder;
10
10
  static head(url: string, params?: any): HttpBuilder;
11
11
  static post(url: string, params?: any): HttpBuilder;
@@ -21,11 +21,12 @@ export declare class Http {
21
21
  put(url: string, params?: any): HttpBuilder;
22
22
  patch(url: string, params?: any): HttpBuilder;
23
23
  delete(url: string, params?: any): HttpBuilder;
24
+ onSend(callback: (request: Message) => void | Promise<void>): import("./event-aggregator").Subscription;
25
+ onSent(callback: (response: HttpResponse, request: Message) => void | Promise<void>): import("./event-aggregator").Subscription;
26
+ onReceived(callback: (response: HttpResponseOfT<any>, request: Message, value: any) => void | Promise<void>): import("./event-aggregator").Subscription;
24
27
  }
25
- export interface Options {
28
+ export interface HttpOptions {
26
29
  fetch?: Fetch;
27
30
  timeout?: number;
28
31
  baseUrl?: string;
29
- onSent?: (request: Message, response: HttpResponse) => void | Promise<any>;
30
- onReceived?: <T>(request: Message, response: HttpResponseOfT<T>, value: T) => void | Promise<any>;
31
32
  }
package/dist/esm/http.js CHANGED
@@ -1,7 +1,14 @@
1
+ import { EventAggregator } from './event-aggregator';
1
2
  import { HttpBuilder } from './http-builder';
2
3
  import { QueryString } from './query-string';
3
4
  var Http = /** @class */ (function () {
4
5
  function Http(options) {
6
+ /** @internal */
7
+ this._onSend = new EventAggregator();
8
+ /** @internal */
9
+ this._onSent = new EventAggregator();
10
+ /** @internal */
11
+ this._onReceived = new EventAggregator();
5
12
  this.options = Object.assign({}, Http.defaults, options); // Later sources' properties overwrite earlier ones.
6
13
  }
7
14
  Http.request = function (method, url, params) {
@@ -39,8 +46,16 @@ var Http = /** @class */ (function () {
39
46
  url: url + QueryString.serialize(params),
40
47
  headers: new Headers()
41
48
  };
42
- var options = Object.assign({}, this.options);
43
- return new HttpBuilder(message, options);
49
+ var fetch = this.options.fetch;
50
+ if (!fetch) {
51
+ throw Error('fetch() is not properly configured');
52
+ }
53
+ var builder = new HttpBuilder(message, {
54
+ fetch: fetch,
55
+ timeout: this.options.timeout,
56
+ baseUrl: this.options.baseUrl,
57
+ }, this);
58
+ return builder;
44
59
  };
45
60
  Http.prototype.head = function (url, params) {
46
61
  return this.request('HEAD', url, params);
@@ -60,6 +75,15 @@ var Http = /** @class */ (function () {
60
75
  Http.prototype.delete = function (url, params) {
61
76
  return this.request('DELETE', url, params);
62
77
  };
78
+ Http.prototype.onSend = function (callback) {
79
+ return this._onSend.subscribe(callback);
80
+ };
81
+ Http.prototype.onSent = function (callback) {
82
+ return this._onSent.subscribe(callback);
83
+ };
84
+ Http.prototype.onReceived = function (callback) {
85
+ return this._onReceived.subscribe(callback);
86
+ };
63
87
  Http.defaults = {
64
88
  fetch: window.fetch ? window.fetch.bind(window) : undefined,
65
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,4 @@ export { HttpError } from "./http-error";
8
8
  export { TimeoutError } from "./timeout-error";
9
9
  export * from "./helpers";
10
10
  export { Fetch } from "./http";
11
- export { Settings } from "./settings";
11
+ export { Subscription } from "./event-aggregator";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utiliread/http",
3
- "version": "1.1.8",
3
+ "version": "1.10.2",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/esm/index.d.ts",
@@ -0,0 +1,32 @@
1
+ type Callback<P extends any[] = any[]> = (...params: P) => void | Promise<void>;
2
+
3
+ export class EventAggregator<P extends any[]> {
4
+ private callbacks: Function[] = [];
5
+
6
+ get any() {
7
+ return this.callbacks.length > 0;
8
+ }
9
+
10
+ subscribe(callback: Callback<P>): Subscription {
11
+ this.callbacks.push(callback);
12
+ return {
13
+ dispose: () => {
14
+ const index = this.callbacks.indexOf(callback);
15
+ if (index >= 0) {
16
+ this.callbacks.splice(index, 1);
17
+ }
18
+ }
19
+ }
20
+ }
21
+
22
+ async publish(...params: P) {
23
+ const callbacks = this.callbacks.slice();
24
+ for (const callback of callbacks) {
25
+ await Promise.resolve(callback.apply(this, params));
26
+ }
27
+ }
28
+ }
29
+
30
+ export interface Subscription {
31
+ dispose(): void;
32
+ }