@alterior/http 3.13.3 → 3.13.4

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 (156) hide show
  1. package/dist/backend.d.ts +38 -38
  2. package/dist/backend.js +38 -38
  3. package/dist/client.d.ts +2108 -2108
  4. package/dist/client.js +265 -265
  5. package/dist/client.js.map +1 -1
  6. package/dist/headers.d.ts +57 -57
  7. package/dist/headers.js +187 -187
  8. package/dist/headers.js.map +1 -1
  9. package/dist/index.d.ts +18 -18
  10. package/dist/index.js +42 -42
  11. package/dist/interceptor.d.ts +63 -63
  12. package/dist/interceptor.js +43 -43
  13. package/dist/interceptor.js.map +1 -1
  14. package/dist/module.d.ts +101 -101
  15. package/dist/module.js +188 -188
  16. package/dist/module.js.map +1 -1
  17. package/dist/params.d.ts +98 -98
  18. package/dist/params.js +184 -184
  19. package/dist/params.js.map +1 -1
  20. package/dist/request.d.ts +130 -130
  21. package/dist/request.js +260 -260
  22. package/dist/request.js.map +1 -1
  23. package/dist/response.d.ts +267 -267
  24. package/dist/response.js +165 -165
  25. package/dist/response.js.map +1 -1
  26. package/dist/server.d.ts +28 -28
  27. package/dist/server.js +119 -119
  28. package/dist/server.js.map +1 -1
  29. package/dist/test/client.test.d.ts +8 -8
  30. package/dist/test/client.test.js +163 -163
  31. package/dist/test/client.test.js.map +1 -1
  32. package/dist/test/headers.test.d.ts +1 -1
  33. package/dist/test/headers.test.js +126 -126
  34. package/dist/test/module.test.d.ts +1 -1
  35. package/dist/test/module.test.js +117 -117
  36. package/dist/test/module.test.js.map +1 -1
  37. package/dist/test/params.test.d.ts +1 -1
  38. package/dist/test/params.test.js +63 -63
  39. package/dist/test/request.test.d.ts +8 -8
  40. package/dist/test/request.test.js +159 -159
  41. package/dist/test/request.test.js.map +1 -1
  42. package/dist/test/response.test.d.ts +1 -1
  43. package/dist/test/response.test.js +79 -79
  44. package/dist/test/response.test.js.map +1 -1
  45. package/dist/test/test.d.ts +1 -1
  46. package/dist/test/test.js +16 -16
  47. package/dist/test/xhr.mock.d.ts +48 -48
  48. package/dist/test/xhr.mock.js +94 -94
  49. package/dist/test/xhr.mock.js.map +1 -1
  50. package/dist/test/xhr.test.d.ts +1 -1
  51. package/dist/test/xhr.test.js +344 -344
  52. package/dist/test/xhr.test.js.map +1 -1
  53. package/dist/test/xsrf.test.d.ts +1 -1
  54. package/dist/test/xsrf.test.js +63 -63
  55. package/dist/test/xsrf.test.js.map +1 -1
  56. package/dist/testing/api.d.ts +102 -102
  57. package/dist/testing/api.js +19 -19
  58. package/dist/testing/backend.d.ts +63 -63
  59. package/dist/testing/backend.js +141 -141
  60. package/dist/testing/backend.js.map +1 -1
  61. package/dist/testing/index.d.ts +10 -10
  62. package/dist/testing/index.js +16 -16
  63. package/dist/testing/module.d.ts +16 -16
  64. package/dist/testing/module.js +38 -38
  65. package/dist/testing/module.js.map +1 -1
  66. package/dist/testing/request.d.ts +56 -56
  67. package/dist/testing/request.js +177 -177
  68. package/dist/testing/request.js.map +1 -1
  69. package/dist/testing/request.test.d.ts +8 -8
  70. package/dist/testing/request.test.js +24 -24
  71. package/dist/xhr.d.ts +42 -42
  72. package/dist/xhr.js +298 -298
  73. package/dist/xhr.js.map +1 -1
  74. package/dist/xsrf.d.ts +37 -37
  75. package/dist/xsrf.js +55 -55
  76. package/dist/xsrf.js.map +1 -1
  77. package/dist.esm/backend.d.ts +38 -38
  78. package/dist.esm/backend.js +33 -33
  79. package/dist.esm/client.d.ts +2108 -2108
  80. package/dist.esm/client.js +262 -262
  81. package/dist.esm/client.js.map +1 -1
  82. package/dist.esm/headers.d.ts +57 -57
  83. package/dist.esm/headers.js +183 -183
  84. package/dist.esm/headers.js.map +1 -1
  85. package/dist.esm/index.d.ts +18 -18
  86. package/dist.esm/index.js +18 -18
  87. package/dist.esm/interceptor.d.ts +63 -63
  88. package/dist.esm/interceptor.js +39 -39
  89. package/dist.esm/interceptor.js.map +1 -1
  90. package/dist.esm/module.d.ts +101 -101
  91. package/dist.esm/module.js +183 -183
  92. package/dist.esm/module.js.map +1 -1
  93. package/dist.esm/params.d.ts +98 -98
  94. package/dist.esm/params.js +179 -179
  95. package/dist.esm/params.js.map +1 -1
  96. package/dist.esm/request.d.ts +130 -130
  97. package/dist.esm/request.js +256 -256
  98. package/dist.esm/request.js.map +1 -1
  99. package/dist.esm/response.d.ts +267 -267
  100. package/dist.esm/response.js +158 -158
  101. package/dist.esm/response.js.map +1 -1
  102. package/dist.esm/server.d.ts +28 -28
  103. package/dist.esm/server.js +113 -113
  104. package/dist.esm/server.js.map +1 -1
  105. package/dist.esm/test/client.test.d.ts +8 -8
  106. package/dist.esm/test/client.test.js +161 -161
  107. package/dist.esm/test/client.test.js.map +1 -1
  108. package/dist.esm/test/headers.test.d.ts +1 -1
  109. package/dist.esm/test/headers.test.js +124 -124
  110. package/dist.esm/test/module.test.d.ts +1 -1
  111. package/dist.esm/test/module.test.js +115 -115
  112. package/dist.esm/test/module.test.js.map +1 -1
  113. package/dist.esm/test/params.test.d.ts +1 -1
  114. package/dist.esm/test/params.test.js +61 -61
  115. package/dist.esm/test/request.test.d.ts +8 -8
  116. package/dist.esm/test/request.test.js +157 -157
  117. package/dist.esm/test/request.test.js.map +1 -1
  118. package/dist.esm/test/response.test.d.ts +1 -1
  119. package/dist.esm/test/response.test.js +77 -77
  120. package/dist.esm/test/response.test.js.map +1 -1
  121. package/dist.esm/test/test.d.ts +1 -1
  122. package/dist.esm/test/test.js +14 -14
  123. package/dist.esm/test/xhr.mock.d.ts +48 -48
  124. package/dist.esm/test/xhr.mock.js +88 -88
  125. package/dist.esm/test/xhr.mock.js.map +1 -1
  126. package/dist.esm/test/xhr.test.d.ts +1 -1
  127. package/dist.esm/test/xhr.test.js +342 -342
  128. package/dist.esm/test/xhr.test.js.map +1 -1
  129. package/dist.esm/test/xsrf.test.d.ts +1 -1
  130. package/dist.esm/test/xsrf.test.js +61 -61
  131. package/dist.esm/test/xsrf.test.js.map +1 -1
  132. package/dist.esm/testing/api.d.ts +102 -102
  133. package/dist.esm/testing/api.js +15 -15
  134. package/dist.esm/testing/backend.d.ts +63 -63
  135. package/dist.esm/testing/backend.js +138 -138
  136. package/dist.esm/testing/backend.js.map +1 -1
  137. package/dist.esm/testing/index.d.ts +10 -10
  138. package/dist.esm/testing/index.js +10 -10
  139. package/dist.esm/testing/module.d.ts +16 -16
  140. package/dist.esm/testing/module.js +35 -35
  141. package/dist.esm/testing/module.js.map +1 -1
  142. package/dist.esm/testing/request.d.ts +56 -56
  143. package/dist.esm/testing/request.js +173 -173
  144. package/dist.esm/testing/request.js.map +1 -1
  145. package/dist.esm/testing/request.test.d.ts +8 -8
  146. package/dist.esm/testing/request.test.js +22 -22
  147. package/dist.esm/xhr.d.ts +42 -42
  148. package/dist.esm/xhr.js +294 -294
  149. package/dist.esm/xhr.js.map +1 -1
  150. package/dist.esm/xsrf.d.ts +37 -37
  151. package/dist.esm/xsrf.js +51 -51
  152. package/dist.esm/xsrf.js.map +1 -1
  153. package/package.json +9 -9
  154. package/tsconfig.esm.tsbuildinfo +1 -0
  155. package/tsconfig.json +0 -2
  156. package/tsconfig.tsbuildinfo +1 -8046
package/dist/request.js CHANGED
@@ -1,261 +1,261 @@
1
- "use strict";
2
- /**
3
- * @license
4
- * Copyright Google Inc. All Rights Reserved.
5
- *
6
- * Use of this source code is governed by an MIT-style license that can be
7
- * found in the LICENSE file at https://angular.io/license
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.HttpRequest = void 0;
11
- const headers_1 = require("./headers");
12
- const params_1 = require("./params");
13
- /**
14
- * Determine whether the given HTTP method may include a body.
15
- */
16
- function mightHaveBody(method) {
17
- switch (method) {
18
- case 'DELETE':
19
- case 'GET':
20
- case 'HEAD':
21
- case 'OPTIONS':
22
- case 'JSONP':
23
- return false;
24
- default:
25
- return true;
26
- }
27
- }
28
- /**
29
- * Safely assert whether the given value is an ArrayBuffer.
30
- *
31
- * In some execution environments ArrayBuffer is not defined.
32
- */
33
- function isArrayBuffer(value) {
34
- return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;
35
- }
36
- /**
37
- * Safely assert whether the given value is a Blob.
38
- *
39
- * In some execution environments Blob is not defined.
40
- */
41
- function isBlob(value) {
42
- return typeof Blob !== 'undefined' && value instanceof Blob;
43
- }
44
- /**
45
- * Safely assert whether the given value is a FormData instance.
46
- *
47
- * In some execution environments FormData is not defined.
48
- */
49
- function isFormData(value) {
50
- return typeof FormData !== 'undefined' && value instanceof FormData;
51
- }
52
- /**
53
- * An outgoing HTTP request with an optional typed body.
54
- *
55
- * `HttpRequest` represents an outgoing request, including URL, method,
56
- * headers, body, and other request configuration options. Instances should be
57
- * assumed to be immutable. To modify a `HttpRequest`, the `clone`
58
- * method should be used.
59
- *
60
- *
61
- */
62
- class HttpRequest {
63
- constructor(method, url, third, fourth) {
64
- this.url = url;
65
- /**
66
- * The request body, or `null` if one isn't set.
67
- *
68
- * Bodies are not enforced to be immutable, as they can include a reference to any
69
- * user-defined data type. However, interceptors should take care to preserve
70
- * idempotence by treating them as such.
71
- */
72
- this.body = null;
73
- /**
74
- * Whether this request should be made in a way that exposes progress events.
75
- *
76
- * Progress events are expensive (change detection runs on each event) and so
77
- * they should only be requested if the consumer intends to monitor them.
78
- */
79
- this.reportProgress = false;
80
- /**
81
- * Whether this request should be sent with outgoing credentials (cookies).
82
- */
83
- this.withCredentials = false;
84
- /**
85
- * The expected response type of the server.
86
- *
87
- * This is used to parse the response appropriately before returning it to
88
- * the requestee.
89
- */
90
- this.responseType = 'json';
91
- this.method = method.toUpperCase();
92
- // Next, need to figure out which argument holds the HttpRequestInit
93
- // options, if any.
94
- let options;
95
- // Check whether a body argument is expected. The only valid way to omit
96
- // the body argument is to use a known no-body method like GET.
97
- if (mightHaveBody(this.method) || !!fourth) {
98
- // Body is the third argument, options are the fourth.
99
- this.body = (third !== undefined) ? third : null;
100
- options = fourth;
101
- }
102
- else {
103
- // No body required, options are the third argument. The body stays null.
104
- options = third;
105
- }
106
- // If options have been passed, interpret them.
107
- if (options) {
108
- // Normalize reportProgress and withCredentials.
109
- this.reportProgress = !!options.reportProgress;
110
- this.withCredentials = !!options.withCredentials;
111
- // Override default response type of 'json' if one is provided.
112
- if (!!options.responseType) {
113
- this.responseType = options.responseType;
114
- }
115
- // Override headers if they're provided.
116
- if (!!options.headers) {
117
- this.headers = options.headers;
118
- }
119
- if (!!options.params) {
120
- this.params = options.params;
121
- }
122
- }
123
- // If no headers have been passed in, construct a new HttpHeaders instance.
124
- if (!this.headers) {
125
- this.headers = new headers_1.HttpHeaders();
126
- }
127
- // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.
128
- if (!this.params) {
129
- this.params = new params_1.HttpParams();
130
- this.urlWithParams = url;
131
- }
132
- else {
133
- // Encode the parameters to a string in preparation for inclusion in the URL.
134
- const params = this.params.toString();
135
- if (params.length === 0) {
136
- // No parameters, the visible URL is just the URL given at creation time.
137
- this.urlWithParams = url;
138
- }
139
- else {
140
- // Does the URL already have query parameters? Look for '?'.
141
- const qIdx = url.indexOf('?');
142
- // There are 3 cases to handle:
143
- // 1) No existing parameters -> append '?' followed by params.
144
- // 2) '?' exists and is followed by existing query string ->
145
- // append '&' followed by params.
146
- // 3) '?' exists at the end of the url -> append params directly.
147
- // This basically amounts to determining the character, if any, with
148
- // which to join the URL and parameters.
149
- const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');
150
- this.urlWithParams = url + sep + params;
151
- }
152
- }
153
- }
154
- /**
155
- * Transform the free-form body into a serialized format suitable for
156
- * transmission to the server.
157
- */
158
- serializeBody() {
159
- // If no body is present, no need to serialize it.
160
- if (this.body === null) {
161
- return null;
162
- }
163
- // Check whether the body is already in a serialized form. If so,
164
- // it can just be returned directly.
165
- if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||
166
- typeof this.body === 'string') {
167
- return this.body;
168
- }
169
- // Check whether the body is an instance of HttpUrlEncodedParams.
170
- if (this.body instanceof params_1.HttpParams) {
171
- return this.body.toString();
172
- }
173
- // Check whether the body is an object or array, and serialize with JSON if so.
174
- if (typeof this.body === 'object' || typeof this.body === 'boolean' ||
175
- Array.isArray(this.body)) {
176
- return JSON.stringify(this.body);
177
- }
178
- // Fall back on toString() for everything else.
179
- return this.body.toString();
180
- }
181
- /**
182
- * Examine the body and attempt to infer an appropriate MIME type
183
- * for it.
184
- *
185
- * If no such type can be inferred, this method will return `null`.
186
- */
187
- detectContentTypeHeader() {
188
- // An empty body has no content type.
189
- if (this.body === null) {
190
- return null;
191
- }
192
- // FormData bodies rely on the browser's content type assignment.
193
- if (isFormData(this.body)) {
194
- return null;
195
- }
196
- // Blobs usually have their own content type. If it doesn't, then
197
- // no type can be inferred.
198
- if (isBlob(this.body)) {
199
- return this.body.type || null;
200
- }
201
- // Array buffers have unknown contents and thus no type can be inferred.
202
- if (isArrayBuffer(this.body)) {
203
- return null;
204
- }
205
- // Technically, strings could be a form of JSON data, but it's safe enough
206
- // to assume they're plain strings.
207
- if (typeof this.body === 'string') {
208
- return 'text/plain';
209
- }
210
- // `HttpUrlEncodedParams` has its own content-type.
211
- if (this.body instanceof params_1.HttpParams) {
212
- return 'application/x-www-form-urlencoded;charset=UTF-8';
213
- }
214
- // Arrays, objects, and numbers will be encoded as JSON.
215
- if (typeof this.body === 'object' || typeof this.body === 'number' ||
216
- Array.isArray(this.body)) {
217
- return 'application/json';
218
- }
219
- // No type could be inferred.
220
- return null;
221
- }
222
- clone(update = {}) {
223
- // For method, url, and responseType, take the current value unless
224
- // it is overridden in the update hash.
225
- const method = update.method || this.method;
226
- const url = update.url || this.url;
227
- const responseType = update.responseType || this.responseType;
228
- // The body is somewhat special - a `null` value in update.body means
229
- // whatever current body is present is being overridden with an empty
230
- // body, whereas an `undefined` value in update.body implies no
231
- // override.
232
- const body = (update.body !== undefined) ? update.body : this.body;
233
- // Carefully handle the boolean options to differentiate between
234
- // `false` and `undefined` in the update args.
235
- const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;
236
- const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;
237
- // Headers and params may be appended to if `setHeaders` or
238
- // `setParams` are used.
239
- let headers = update.headers || this.headers;
240
- let params = update.params || this.params;
241
- // Check whether the caller has asked to add headers.
242
- if (update.setHeaders !== undefined) {
243
- // Set every requested header.
244
- headers =
245
- Object.keys(update.setHeaders)
246
- .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);
247
- }
248
- // Check whether the caller has asked to set params.
249
- if (update.setParams) {
250
- // Set every requested param.
251
- params = Object.keys(update.setParams)
252
- .reduce((params, param) => params.set(param, update.setParams[param]), params);
253
- }
254
- // Finally, construct the new HttpRequest using the pieces from above.
255
- return new HttpRequest(method, url, body, {
256
- params, headers, reportProgress, responseType, withCredentials,
257
- });
258
- }
259
- }
260
- exports.HttpRequest = HttpRequest;
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google Inc. All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.HttpRequest = void 0;
11
+ const headers_1 = require("./headers");
12
+ const params_1 = require("./params");
13
+ /**
14
+ * Determine whether the given HTTP method may include a body.
15
+ */
16
+ function mightHaveBody(method) {
17
+ switch (method) {
18
+ case 'DELETE':
19
+ case 'GET':
20
+ case 'HEAD':
21
+ case 'OPTIONS':
22
+ case 'JSONP':
23
+ return false;
24
+ default:
25
+ return true;
26
+ }
27
+ }
28
+ /**
29
+ * Safely assert whether the given value is an ArrayBuffer.
30
+ *
31
+ * In some execution environments ArrayBuffer is not defined.
32
+ */
33
+ function isArrayBuffer(value) {
34
+ return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;
35
+ }
36
+ /**
37
+ * Safely assert whether the given value is a Blob.
38
+ *
39
+ * In some execution environments Blob is not defined.
40
+ */
41
+ function isBlob(value) {
42
+ return typeof Blob !== 'undefined' && value instanceof Blob;
43
+ }
44
+ /**
45
+ * Safely assert whether the given value is a FormData instance.
46
+ *
47
+ * In some execution environments FormData is not defined.
48
+ */
49
+ function isFormData(value) {
50
+ return typeof FormData !== 'undefined' && value instanceof FormData;
51
+ }
52
+ /**
53
+ * An outgoing HTTP request with an optional typed body.
54
+ *
55
+ * `HttpRequest` represents an outgoing request, including URL, method,
56
+ * headers, body, and other request configuration options. Instances should be
57
+ * assumed to be immutable. To modify a `HttpRequest`, the `clone`
58
+ * method should be used.
59
+ *
60
+ *
61
+ */
62
+ class HttpRequest {
63
+ constructor(method, url, third, fourth) {
64
+ this.url = url;
65
+ /**
66
+ * The request body, or `null` if one isn't set.
67
+ *
68
+ * Bodies are not enforced to be immutable, as they can include a reference to any
69
+ * user-defined data type. However, interceptors should take care to preserve
70
+ * idempotence by treating them as such.
71
+ */
72
+ this.body = null;
73
+ /**
74
+ * Whether this request should be made in a way that exposes progress events.
75
+ *
76
+ * Progress events are expensive (change detection runs on each event) and so
77
+ * they should only be requested if the consumer intends to monitor them.
78
+ */
79
+ this.reportProgress = false;
80
+ /**
81
+ * Whether this request should be sent with outgoing credentials (cookies).
82
+ */
83
+ this.withCredentials = false;
84
+ /**
85
+ * The expected response type of the server.
86
+ *
87
+ * This is used to parse the response appropriately before returning it to
88
+ * the requestee.
89
+ */
90
+ this.responseType = 'json';
91
+ this.method = method.toUpperCase();
92
+ // Next, need to figure out which argument holds the HttpRequestInit
93
+ // options, if any.
94
+ let options;
95
+ // Check whether a body argument is expected. The only valid way to omit
96
+ // the body argument is to use a known no-body method like GET.
97
+ if (mightHaveBody(this.method) || !!fourth) {
98
+ // Body is the third argument, options are the fourth.
99
+ this.body = (third !== undefined) ? third : null;
100
+ options = fourth;
101
+ }
102
+ else {
103
+ // No body required, options are the third argument. The body stays null.
104
+ options = third;
105
+ }
106
+ // If options have been passed, interpret them.
107
+ if (options) {
108
+ // Normalize reportProgress and withCredentials.
109
+ this.reportProgress = !!options.reportProgress;
110
+ this.withCredentials = !!options.withCredentials;
111
+ // Override default response type of 'json' if one is provided.
112
+ if (!!options.responseType) {
113
+ this.responseType = options.responseType;
114
+ }
115
+ // Override headers if they're provided.
116
+ if (!!options.headers) {
117
+ this.headers = options.headers;
118
+ }
119
+ if (!!options.params) {
120
+ this.params = options.params;
121
+ }
122
+ }
123
+ // If no headers have been passed in, construct a new HttpHeaders instance.
124
+ if (!this.headers) {
125
+ this.headers = new headers_1.HttpHeaders();
126
+ }
127
+ // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.
128
+ if (!this.params) {
129
+ this.params = new params_1.HttpParams();
130
+ this.urlWithParams = url;
131
+ }
132
+ else {
133
+ // Encode the parameters to a string in preparation for inclusion in the URL.
134
+ const params = this.params.toString();
135
+ if (params.length === 0) {
136
+ // No parameters, the visible URL is just the URL given at creation time.
137
+ this.urlWithParams = url;
138
+ }
139
+ else {
140
+ // Does the URL already have query parameters? Look for '?'.
141
+ const qIdx = url.indexOf('?');
142
+ // There are 3 cases to handle:
143
+ // 1) No existing parameters -> append '?' followed by params.
144
+ // 2) '?' exists and is followed by existing query string ->
145
+ // append '&' followed by params.
146
+ // 3) '?' exists at the end of the url -> append params directly.
147
+ // This basically amounts to determining the character, if any, with
148
+ // which to join the URL and parameters.
149
+ const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');
150
+ this.urlWithParams = url + sep + params;
151
+ }
152
+ }
153
+ }
154
+ /**
155
+ * Transform the free-form body into a serialized format suitable for
156
+ * transmission to the server.
157
+ */
158
+ serializeBody() {
159
+ // If no body is present, no need to serialize it.
160
+ if (this.body === null) {
161
+ return null;
162
+ }
163
+ // Check whether the body is already in a serialized form. If so,
164
+ // it can just be returned directly.
165
+ if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||
166
+ typeof this.body === 'string') {
167
+ return this.body;
168
+ }
169
+ // Check whether the body is an instance of HttpUrlEncodedParams.
170
+ if (this.body instanceof params_1.HttpParams) {
171
+ return this.body.toString();
172
+ }
173
+ // Check whether the body is an object or array, and serialize with JSON if so.
174
+ if (typeof this.body === 'object' || typeof this.body === 'boolean' ||
175
+ Array.isArray(this.body)) {
176
+ return JSON.stringify(this.body);
177
+ }
178
+ // Fall back on toString() for everything else.
179
+ return this.body.toString();
180
+ }
181
+ /**
182
+ * Examine the body and attempt to infer an appropriate MIME type
183
+ * for it.
184
+ *
185
+ * If no such type can be inferred, this method will return `null`.
186
+ */
187
+ detectContentTypeHeader() {
188
+ // An empty body has no content type.
189
+ if (this.body === null) {
190
+ return null;
191
+ }
192
+ // FormData bodies rely on the browser's content type assignment.
193
+ if (isFormData(this.body)) {
194
+ return null;
195
+ }
196
+ // Blobs usually have their own content type. If it doesn't, then
197
+ // no type can be inferred.
198
+ if (isBlob(this.body)) {
199
+ return this.body.type || null;
200
+ }
201
+ // Array buffers have unknown contents and thus no type can be inferred.
202
+ if (isArrayBuffer(this.body)) {
203
+ return null;
204
+ }
205
+ // Technically, strings could be a form of JSON data, but it's safe enough
206
+ // to assume they're plain strings.
207
+ if (typeof this.body === 'string') {
208
+ return 'text/plain';
209
+ }
210
+ // `HttpUrlEncodedParams` has its own content-type.
211
+ if (this.body instanceof params_1.HttpParams) {
212
+ return 'application/x-www-form-urlencoded;charset=UTF-8';
213
+ }
214
+ // Arrays, objects, and numbers will be encoded as JSON.
215
+ if (typeof this.body === 'object' || typeof this.body === 'number' ||
216
+ Array.isArray(this.body)) {
217
+ return 'application/json';
218
+ }
219
+ // No type could be inferred.
220
+ return null;
221
+ }
222
+ clone(update = {}) {
223
+ // For method, url, and responseType, take the current value unless
224
+ // it is overridden in the update hash.
225
+ const method = update.method || this.method;
226
+ const url = update.url || this.url;
227
+ const responseType = update.responseType || this.responseType;
228
+ // The body is somewhat special - a `null` value in update.body means
229
+ // whatever current body is present is being overridden with an empty
230
+ // body, whereas an `undefined` value in update.body implies no
231
+ // override.
232
+ const body = (update.body !== undefined) ? update.body : this.body;
233
+ // Carefully handle the boolean options to differentiate between
234
+ // `false` and `undefined` in the update args.
235
+ const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;
236
+ const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;
237
+ // Headers and params may be appended to if `setHeaders` or
238
+ // `setParams` are used.
239
+ let headers = update.headers || this.headers;
240
+ let params = update.params || this.params;
241
+ // Check whether the caller has asked to add headers.
242
+ if (update.setHeaders !== undefined) {
243
+ // Set every requested header.
244
+ headers =
245
+ Object.keys(update.setHeaders)
246
+ .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);
247
+ }
248
+ // Check whether the caller has asked to set params.
249
+ if (update.setParams) {
250
+ // Set every requested param.
251
+ params = Object.keys(update.setParams)
252
+ .reduce((params, param) => params.set(param, update.setParams[param]), params);
253
+ }
254
+ // Finally, construct the new HttpRequest using the pieces from above.
255
+ return new HttpRequest(method, url, body, {
256
+ params, headers, reportProgress, responseType, withCredentials,
257
+ });
258
+ }
259
+ }
260
+ exports.HttpRequest = HttpRequest;
261
261
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}