@angular/common 19.0.0-next.8 → 19.0.0-rc.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/fesm2022/common.mjs +400 -281
- package/fesm2022/common.mjs.map +1 -1
- package/fesm2022/http/testing.mjs +18 -18
- package/fesm2022/http/testing.mjs.map +1 -1
- package/fesm2022/http.mjs +194 -108
- package/fesm2022/http.mjs.map +1 -1
- package/fesm2022/testing.mjs +117 -93
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/upgrade.mjs +33 -20
- package/fesm2022/upgrade.mjs.map +1 -1
- package/http/index.d.ts +2 -2
- package/http/testing/index.d.ts +1 -1
- package/index.d.ts +71 -10
- package/package.json +2 -2
- package/testing/index.d.ts +1 -1
- package/upgrade/index.d.ts +1 -1
package/fesm2022/http.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.0.0-
|
|
2
|
+
* @license Angular v19.0.0-rc.0
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -46,17 +46,26 @@ class HttpBackend {
|
|
|
46
46
|
* @publicApi
|
|
47
47
|
*/
|
|
48
48
|
class HttpHeaders {
|
|
49
|
+
/**
|
|
50
|
+
* Internal map of lowercase header names to values.
|
|
51
|
+
*/
|
|
52
|
+
// TODO(issue/24571): remove '!'.
|
|
53
|
+
headers;
|
|
54
|
+
/**
|
|
55
|
+
* Internal map of lowercased header names to the normalized
|
|
56
|
+
* form of the name (the form seen first).
|
|
57
|
+
*/
|
|
58
|
+
normalizedNames = new Map();
|
|
59
|
+
/**
|
|
60
|
+
* Complete the lazy initialization of this object (needed before reading).
|
|
61
|
+
*/
|
|
62
|
+
lazyInit;
|
|
63
|
+
/**
|
|
64
|
+
* Queued updates to be materialized the next initialization.
|
|
65
|
+
*/
|
|
66
|
+
lazyUpdate = null;
|
|
49
67
|
/** Constructs a new HTTP header object with the given values.*/
|
|
50
68
|
constructor(headers) {
|
|
51
|
-
/**
|
|
52
|
-
* Internal map of lowercased header names to the normalized
|
|
53
|
-
* form of the name (the form seen first).
|
|
54
|
-
*/
|
|
55
|
-
this.normalizedNames = new Map();
|
|
56
|
-
/**
|
|
57
|
-
* Queued updates to be materialized the next initialization.
|
|
58
|
-
*/
|
|
59
|
-
this.lazyUpdate = null;
|
|
60
69
|
if (!headers) {
|
|
61
70
|
this.headers = new Map();
|
|
62
71
|
}
|
|
@@ -373,9 +382,11 @@ function valueToString(value) {
|
|
|
373
382
|
* @publicApi
|
|
374
383
|
*/
|
|
375
384
|
class HttpParams {
|
|
385
|
+
map;
|
|
386
|
+
encoder;
|
|
387
|
+
updates = null;
|
|
388
|
+
cloneFrom = null;
|
|
376
389
|
constructor(options = {}) {
|
|
377
|
-
this.updates = null;
|
|
378
|
-
this.cloneFrom = null;
|
|
379
390
|
this.encoder = options.encoder || new HttpUrlEncodingCodec();
|
|
380
391
|
if (!!options.fromString) {
|
|
381
392
|
if (!!options.fromObject) {
|
|
@@ -556,6 +567,7 @@ class HttpParams {
|
|
|
556
567
|
* @publicApi
|
|
557
568
|
*/
|
|
558
569
|
class HttpContextToken {
|
|
570
|
+
defaultValue;
|
|
559
571
|
constructor(defaultValue) {
|
|
560
572
|
this.defaultValue = defaultValue;
|
|
561
573
|
}
|
|
@@ -594,9 +606,7 @@ class HttpContextToken {
|
|
|
594
606
|
* @publicApi
|
|
595
607
|
*/
|
|
596
608
|
class HttpContext {
|
|
597
|
-
|
|
598
|
-
this.map = new Map();
|
|
599
|
-
}
|
|
609
|
+
map = new Map();
|
|
600
610
|
/**
|
|
601
611
|
* Store a value in the context. If a value is already present it will be overwritten.
|
|
602
612
|
*
|
|
@@ -709,36 +719,70 @@ function isUrlSearchParams(value) {
|
|
|
709
719
|
* @publicApi
|
|
710
720
|
*/
|
|
711
721
|
class HttpRequest {
|
|
722
|
+
url;
|
|
723
|
+
/**
|
|
724
|
+
* The request body, or `null` if one isn't set.
|
|
725
|
+
*
|
|
726
|
+
* Bodies are not enforced to be immutable, as they can include a reference to any
|
|
727
|
+
* user-defined data type. However, interceptors should take care to preserve
|
|
728
|
+
* idempotence by treating them as such.
|
|
729
|
+
*/
|
|
730
|
+
body = null;
|
|
731
|
+
/**
|
|
732
|
+
* Outgoing headers for this request.
|
|
733
|
+
*/
|
|
734
|
+
// TODO(issue/24571): remove '!'.
|
|
735
|
+
headers;
|
|
736
|
+
/**
|
|
737
|
+
* Shared and mutable context that can be used by interceptors
|
|
738
|
+
*/
|
|
739
|
+
context;
|
|
740
|
+
/**
|
|
741
|
+
* Whether this request should be made in a way that exposes progress events.
|
|
742
|
+
*
|
|
743
|
+
* Progress events are expensive (change detection runs on each event) and so
|
|
744
|
+
* they should only be requested if the consumer intends to monitor them.
|
|
745
|
+
*
|
|
746
|
+
* Note: The `FetchBackend` doesn't support progress report on uploads.
|
|
747
|
+
*/
|
|
748
|
+
reportProgress = false;
|
|
749
|
+
/**
|
|
750
|
+
* Whether this request should be sent with outgoing credentials (cookies).
|
|
751
|
+
*/
|
|
752
|
+
withCredentials = false;
|
|
753
|
+
/**
|
|
754
|
+
* The expected response type of the server.
|
|
755
|
+
*
|
|
756
|
+
* This is used to parse the response appropriately before returning it to
|
|
757
|
+
* the requestee.
|
|
758
|
+
*/
|
|
759
|
+
responseType = 'json';
|
|
760
|
+
/**
|
|
761
|
+
* The outgoing HTTP request method.
|
|
762
|
+
*/
|
|
763
|
+
method;
|
|
764
|
+
/**
|
|
765
|
+
* Outgoing URL parameters.
|
|
766
|
+
*
|
|
767
|
+
* To pass a string representation of HTTP parameters in the URL-query-string format,
|
|
768
|
+
* the `HttpParamsOptions`' `fromString` may be used. For example:
|
|
769
|
+
*
|
|
770
|
+
* ```
|
|
771
|
+
* new HttpParams({fromString: 'angular=awesome'})
|
|
772
|
+
* ```
|
|
773
|
+
*/
|
|
774
|
+
// TODO(issue/24571): remove '!'.
|
|
775
|
+
params;
|
|
776
|
+
/**
|
|
777
|
+
* The outgoing URL with all URL parameters set.
|
|
778
|
+
*/
|
|
779
|
+
urlWithParams;
|
|
780
|
+
/**
|
|
781
|
+
* The HttpTransferCache option for the request
|
|
782
|
+
*/
|
|
783
|
+
transferCache;
|
|
712
784
|
constructor(method, url, third, fourth) {
|
|
713
785
|
this.url = url;
|
|
714
|
-
/**
|
|
715
|
-
* The request body, or `null` if one isn't set.
|
|
716
|
-
*
|
|
717
|
-
* Bodies are not enforced to be immutable, as they can include a reference to any
|
|
718
|
-
* user-defined data type. However, interceptors should take care to preserve
|
|
719
|
-
* idempotence by treating them as such.
|
|
720
|
-
*/
|
|
721
|
-
this.body = null;
|
|
722
|
-
/**
|
|
723
|
-
* Whether this request should be made in a way that exposes progress events.
|
|
724
|
-
*
|
|
725
|
-
* Progress events are expensive (change detection runs on each event) and so
|
|
726
|
-
* they should only be requested if the consumer intends to monitor them.
|
|
727
|
-
*
|
|
728
|
-
* Note: The `FetchBackend` doesn't support progress report on uploads.
|
|
729
|
-
*/
|
|
730
|
-
this.reportProgress = false;
|
|
731
|
-
/**
|
|
732
|
-
* Whether this request should be sent with outgoing credentials (cookies).
|
|
733
|
-
*/
|
|
734
|
-
this.withCredentials = false;
|
|
735
|
-
/**
|
|
736
|
-
* The expected response type of the server.
|
|
737
|
-
*
|
|
738
|
-
* This is used to parse the response appropriately before returning it to
|
|
739
|
-
* the requestee.
|
|
740
|
-
*/
|
|
741
|
-
this.responseType = 'json';
|
|
742
786
|
this.method = method.toUpperCase();
|
|
743
787
|
// Next, need to figure out which argument holds the HttpRequestInit
|
|
744
788
|
// options, if any.
|
|
@@ -967,6 +1011,33 @@ var HttpEventType;
|
|
|
967
1011
|
* @publicApi
|
|
968
1012
|
*/
|
|
969
1013
|
class HttpResponseBase {
|
|
1014
|
+
/**
|
|
1015
|
+
* All response headers.
|
|
1016
|
+
*/
|
|
1017
|
+
headers;
|
|
1018
|
+
/**
|
|
1019
|
+
* Response status code.
|
|
1020
|
+
*/
|
|
1021
|
+
status;
|
|
1022
|
+
/**
|
|
1023
|
+
* Textual description of response status code, defaults to OK.
|
|
1024
|
+
*
|
|
1025
|
+
* Do not depend on this.
|
|
1026
|
+
*/
|
|
1027
|
+
statusText;
|
|
1028
|
+
/**
|
|
1029
|
+
* URL of the resource retrieved, or null if not available.
|
|
1030
|
+
*/
|
|
1031
|
+
url;
|
|
1032
|
+
/**
|
|
1033
|
+
* Whether the status code falls in the 2xx range.
|
|
1034
|
+
*/
|
|
1035
|
+
ok;
|
|
1036
|
+
/**
|
|
1037
|
+
* Type of the response, narrowed to either the full response or the header.
|
|
1038
|
+
*/
|
|
1039
|
+
// TODO(issue/24571): remove '!'.
|
|
1040
|
+
type;
|
|
970
1041
|
/**
|
|
971
1042
|
* Super-constructor for all responses.
|
|
972
1043
|
*
|
|
@@ -999,8 +1070,8 @@ class HttpHeaderResponse extends HttpResponseBase {
|
|
|
999
1070
|
*/
|
|
1000
1071
|
constructor(init = {}) {
|
|
1001
1072
|
super(init);
|
|
1002
|
-
this.type = HttpEventType.ResponseHeader;
|
|
1003
1073
|
}
|
|
1074
|
+
type = HttpEventType.ResponseHeader;
|
|
1004
1075
|
/**
|
|
1005
1076
|
* Copy this `HttpHeaderResponse`, overriding its contents with the
|
|
1006
1077
|
* given parameter hash.
|
|
@@ -1026,14 +1097,18 @@ class HttpHeaderResponse extends HttpResponseBase {
|
|
|
1026
1097
|
* @publicApi
|
|
1027
1098
|
*/
|
|
1028
1099
|
class HttpResponse extends HttpResponseBase {
|
|
1100
|
+
/**
|
|
1101
|
+
* The response body, or `null` if one was not returned.
|
|
1102
|
+
*/
|
|
1103
|
+
body;
|
|
1029
1104
|
/**
|
|
1030
1105
|
* Construct a new `HttpResponse`.
|
|
1031
1106
|
*/
|
|
1032
1107
|
constructor(init = {}) {
|
|
1033
1108
|
super(init);
|
|
1034
|
-
this.type = HttpEventType.Response;
|
|
1035
1109
|
this.body = init.body !== undefined ? init.body : null;
|
|
1036
1110
|
}
|
|
1111
|
+
type = HttpEventType.Response;
|
|
1037
1112
|
clone(update = {}) {
|
|
1038
1113
|
return new HttpResponse({
|
|
1039
1114
|
body: update.body !== undefined ? update.body : this.body,
|
|
@@ -1058,14 +1133,16 @@ class HttpResponse extends HttpResponseBase {
|
|
|
1058
1133
|
* @publicApi
|
|
1059
1134
|
*/
|
|
1060
1135
|
class HttpErrorResponse extends HttpResponseBase {
|
|
1136
|
+
name = 'HttpErrorResponse';
|
|
1137
|
+
message;
|
|
1138
|
+
error;
|
|
1139
|
+
/**
|
|
1140
|
+
* Errors are never okay, even when the status code is in the 2xx success range.
|
|
1141
|
+
*/
|
|
1142
|
+
ok = false;
|
|
1061
1143
|
constructor(init) {
|
|
1062
1144
|
// Initialize with a default status of 0 / Unknown Error.
|
|
1063
1145
|
super(init, 0, 'Unknown Error');
|
|
1064
|
-
this.name = 'HttpErrorResponse';
|
|
1065
|
-
/**
|
|
1066
|
-
* Errors are never okay, even when the status code is in the 2xx success range.
|
|
1067
|
-
*/
|
|
1068
|
-
this.ok = false;
|
|
1069
1146
|
// If the response was successful, then this was a parse error. Otherwise, it was
|
|
1070
1147
|
// a protocol-level failure of some sort. Either the request failed in transit
|
|
1071
1148
|
// or the server returned an unsuccessful status code.
|
|
@@ -1234,6 +1311,7 @@ function addBody(options, body) {
|
|
|
1234
1311
|
* @publicApi
|
|
1235
1312
|
*/
|
|
1236
1313
|
class HttpClient {
|
|
1314
|
+
handler;
|
|
1237
1315
|
constructor(handler) {
|
|
1238
1316
|
this.handler = handler;
|
|
1239
1317
|
}
|
|
@@ -1457,10 +1535,10 @@ class HttpClient {
|
|
|
1457
1535
|
put(url, body, options = {}) {
|
|
1458
1536
|
return this.request('PUT', url, addBody(options, body));
|
|
1459
1537
|
}
|
|
1460
|
-
static
|
|
1461
|
-
static
|
|
1538
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1539
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClient });
|
|
1462
1540
|
}
|
|
1463
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1541
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClient, decorators: [{
|
|
1464
1542
|
type: Injectable
|
|
1465
1543
|
}], ctorParameters: () => [{ type: HttpHandler }] });
|
|
1466
1544
|
|
|
@@ -1490,13 +1568,11 @@ function getResponseUrl$1(response) {
|
|
|
1490
1568
|
* @publicApi
|
|
1491
1569
|
*/
|
|
1492
1570
|
class FetchBackend {
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
this.ngZone = inject(NgZone);
|
|
1499
|
-
}
|
|
1571
|
+
// We use an arrow function to always reference the current global implementation of `fetch`.
|
|
1572
|
+
// This is helpful for cases when the global `fetch` implementation is modified by external code,
|
|
1573
|
+
// see https://github.com/angular/angular/issues/57527.
|
|
1574
|
+
fetchImpl = inject(FetchFactory, { optional: true })?.fetch ?? ((...args) => globalThis.fetch(...args));
|
|
1575
|
+
ngZone = inject(NgZone);
|
|
1500
1576
|
handle(request) {
|
|
1501
1577
|
return new Observable((observer) => {
|
|
1502
1578
|
const aborter = new AbortController();
|
|
@@ -1673,10 +1749,10 @@ class FetchBackend {
|
|
|
1673
1749
|
}
|
|
1674
1750
|
return chunksAll;
|
|
1675
1751
|
}
|
|
1676
|
-
static
|
|
1677
|
-
static
|
|
1752
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: FetchBackend, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1753
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: FetchBackend });
|
|
1678
1754
|
}
|
|
1679
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1755
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: FetchBackend, decorators: [{
|
|
1680
1756
|
type: Injectable
|
|
1681
1757
|
}] });
|
|
1682
1758
|
/**
|
|
@@ -1765,13 +1841,15 @@ function resetFetchBackendWarningFlag() {
|
|
|
1765
1841
|
fetchBackendWarningDisplayed = false;
|
|
1766
1842
|
}
|
|
1767
1843
|
class HttpInterceptorHandler extends HttpHandler {
|
|
1844
|
+
backend;
|
|
1845
|
+
injector;
|
|
1846
|
+
chain = null;
|
|
1847
|
+
pendingTasks = inject(ɵPendingTasks);
|
|
1848
|
+
contributeToStability = inject(REQUESTS_CONTRIBUTE_TO_STABILITY);
|
|
1768
1849
|
constructor(backend, injector) {
|
|
1769
1850
|
super();
|
|
1770
1851
|
this.backend = backend;
|
|
1771
1852
|
this.injector = injector;
|
|
1772
|
-
this.chain = null;
|
|
1773
|
-
this.pendingTasks = inject(ɵPendingTasks);
|
|
1774
|
-
this.contributeToStability = inject(REQUESTS_CONTRIBUTE_TO_STABILITY);
|
|
1775
1853
|
// We strongly recommend using fetch backend for HTTP calls when SSR is used
|
|
1776
1854
|
// for an application. The logic below checks if that's the case and produces
|
|
1777
1855
|
// a warning otherwise.
|
|
@@ -1810,10 +1888,10 @@ class HttpInterceptorHandler extends HttpHandler {
|
|
|
1810
1888
|
return this.chain(initialRequest, (downstreamRequest) => this.backend.handle(downstreamRequest));
|
|
1811
1889
|
}
|
|
1812
1890
|
}
|
|
1813
|
-
static
|
|
1814
|
-
static
|
|
1891
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpInterceptorHandler, deps: [{ token: HttpBackend }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1892
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpInterceptorHandler });
|
|
1815
1893
|
}
|
|
1816
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpInterceptorHandler, decorators: [{
|
|
1817
1895
|
type: Injectable
|
|
1818
1896
|
}], ctorParameters: () => [{ type: HttpBackend }, { type: i0.EnvironmentInjector }] });
|
|
1819
1897
|
|
|
@@ -1869,13 +1947,15 @@ function jsonpCallbackContext() {
|
|
|
1869
1947
|
* @publicApi
|
|
1870
1948
|
*/
|
|
1871
1949
|
class JsonpClientBackend {
|
|
1950
|
+
callbackMap;
|
|
1951
|
+
document;
|
|
1952
|
+
/**
|
|
1953
|
+
* A resolved promise that can be used to schedule microtasks in the event handlers.
|
|
1954
|
+
*/
|
|
1955
|
+
resolvedPromise = Promise.resolve();
|
|
1872
1956
|
constructor(callbackMap, document) {
|
|
1873
1957
|
this.callbackMap = callbackMap;
|
|
1874
1958
|
this.document = document;
|
|
1875
|
-
/**
|
|
1876
|
-
* A resolved promise that can be used to schedule microtasks in the event handlers.
|
|
1877
|
-
*/
|
|
1878
|
-
this.resolvedPromise = Promise.resolve();
|
|
1879
1959
|
}
|
|
1880
1960
|
/**
|
|
1881
1961
|
* Get the name of the next callback method, by incrementing the global `nextRequestId`.
|
|
@@ -2013,10 +2093,10 @@ class JsonpClientBackend {
|
|
|
2013
2093
|
foreignDocument ??= this.document.implementation.createHTMLDocument();
|
|
2014
2094
|
foreignDocument.adoptNode(script);
|
|
2015
2095
|
}
|
|
2016
|
-
static
|
|
2017
|
-
static
|
|
2096
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonpClientBackend, deps: [{ token: JsonpCallbackContext }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2097
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonpClientBackend });
|
|
2018
2098
|
}
|
|
2019
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2099
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonpClientBackend, decorators: [{
|
|
2020
2100
|
type: Injectable
|
|
2021
2101
|
}], ctorParameters: () => [{ type: JsonpCallbackContext }, { type: undefined, decorators: [{
|
|
2022
2102
|
type: Inject,
|
|
@@ -2041,6 +2121,7 @@ function jsonpInterceptorFn(req, next) {
|
|
|
2041
2121
|
* @publicApi
|
|
2042
2122
|
*/
|
|
2043
2123
|
class JsonpInterceptor {
|
|
2124
|
+
injector;
|
|
2044
2125
|
constructor(injector) {
|
|
2045
2126
|
this.injector = injector;
|
|
2046
2127
|
}
|
|
@@ -2054,10 +2135,10 @@ class JsonpInterceptor {
|
|
|
2054
2135
|
intercept(initialRequest, next) {
|
|
2055
2136
|
return runInInjectionContext(this.injector, () => jsonpInterceptorFn(initialRequest, (downstreamRequest) => next.handle(downstreamRequest)));
|
|
2056
2137
|
}
|
|
2057
|
-
static
|
|
2058
|
-
static
|
|
2138
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonpInterceptor, deps: [{ token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2139
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonpInterceptor });
|
|
2059
2140
|
}
|
|
2060
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: JsonpInterceptor, decorators: [{
|
|
2061
2142
|
type: Injectable
|
|
2062
2143
|
}], ctorParameters: () => [{ type: i0.EnvironmentInjector }] });
|
|
2063
2144
|
|
|
@@ -2083,6 +2164,7 @@ function getResponseUrl(xhr) {
|
|
|
2083
2164
|
* @publicApi
|
|
2084
2165
|
*/
|
|
2085
2166
|
class HttpXhrBackend {
|
|
2167
|
+
xhrFactory;
|
|
2086
2168
|
constructor(xhrFactory) {
|
|
2087
2169
|
this.xhrFactory = xhrFactory;
|
|
2088
2170
|
}
|
|
@@ -2337,10 +2419,10 @@ class HttpXhrBackend {
|
|
|
2337
2419
|
});
|
|
2338
2420
|
}));
|
|
2339
2421
|
}
|
|
2340
|
-
static
|
|
2341
|
-
static
|
|
2422
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXhrBackend, deps: [{ token: i1.XhrFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2423
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXhrBackend });
|
|
2342
2424
|
}
|
|
2343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXhrBackend, decorators: [{
|
|
2344
2426
|
type: Injectable
|
|
2345
2427
|
}], ctorParameters: () => [{ type: i1.XhrFactory }] });
|
|
2346
2428
|
|
|
@@ -2366,16 +2448,19 @@ class HttpXsrfTokenExtractor {
|
|
|
2366
2448
|
* `HttpXsrfTokenExtractor` which retrieves the token from a cookie.
|
|
2367
2449
|
*/
|
|
2368
2450
|
class HttpXsrfCookieExtractor {
|
|
2451
|
+
doc;
|
|
2452
|
+
platform;
|
|
2453
|
+
cookieName;
|
|
2454
|
+
lastCookieString = '';
|
|
2455
|
+
lastToken = null;
|
|
2456
|
+
/**
|
|
2457
|
+
* @internal for testing
|
|
2458
|
+
*/
|
|
2459
|
+
parseCount = 0;
|
|
2369
2460
|
constructor(doc, platform, cookieName) {
|
|
2370
2461
|
this.doc = doc;
|
|
2371
2462
|
this.platform = platform;
|
|
2372
2463
|
this.cookieName = cookieName;
|
|
2373
|
-
this.lastCookieString = '';
|
|
2374
|
-
this.lastToken = null;
|
|
2375
|
-
/**
|
|
2376
|
-
* @internal for testing
|
|
2377
|
-
*/
|
|
2378
|
-
this.parseCount = 0;
|
|
2379
2464
|
}
|
|
2380
2465
|
getToken() {
|
|
2381
2466
|
if (this.platform === 'server') {
|
|
@@ -2389,10 +2474,10 @@ class HttpXsrfCookieExtractor {
|
|
|
2389
2474
|
}
|
|
2390
2475
|
return this.lastToken;
|
|
2391
2476
|
}
|
|
2392
|
-
static
|
|
2393
|
-
static
|
|
2477
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXsrfCookieExtractor, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: XSRF_COOKIE_NAME }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2478
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXsrfCookieExtractor });
|
|
2394
2479
|
}
|
|
2395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2480
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXsrfCookieExtractor, decorators: [{
|
|
2396
2481
|
type: Injectable
|
|
2397
2482
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2398
2483
|
type: Inject,
|
|
@@ -2429,16 +2514,17 @@ function xsrfInterceptorFn(req, next) {
|
|
|
2429
2514
|
* `HttpInterceptor` which adds an XSRF token to eligible outgoing requests.
|
|
2430
2515
|
*/
|
|
2431
2516
|
class HttpXsrfInterceptor {
|
|
2517
|
+
injector;
|
|
2432
2518
|
constructor(injector) {
|
|
2433
2519
|
this.injector = injector;
|
|
2434
2520
|
}
|
|
2435
2521
|
intercept(initialRequest, next) {
|
|
2436
2522
|
return runInInjectionContext(this.injector, () => xsrfInterceptorFn(initialRequest, (downstreamRequest) => next.handle(downstreamRequest)));
|
|
2437
2523
|
}
|
|
2438
|
-
static
|
|
2439
|
-
static
|
|
2524
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXsrfInterceptor, deps: [{ token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2525
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXsrfInterceptor });
|
|
2440
2526
|
}
|
|
2441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpXsrfInterceptor, decorators: [{
|
|
2442
2528
|
type: Injectable
|
|
2443
2529
|
}], ctorParameters: () => [{ type: i0.EnvironmentInjector }] });
|
|
2444
2530
|
|
|
@@ -2635,7 +2721,7 @@ function withJsonpSupport() {
|
|
|
2635
2721
|
* this option.
|
|
2636
2722
|
*
|
|
2637
2723
|
* @see {@link provideHttpClient}
|
|
2638
|
-
* @
|
|
2724
|
+
* @publicApi
|
|
2639
2725
|
*/
|
|
2640
2726
|
function withRequestsMadeViaParent() {
|
|
2641
2727
|
return makeHttpFeature(HttpFeatureKind.RequestsMadeViaParent, [
|
|
@@ -2703,9 +2789,9 @@ class HttpClientXsrfModule {
|
|
|
2703
2789
|
providers: withXsrfConfiguration(options).ɵproviders,
|
|
2704
2790
|
};
|
|
2705
2791
|
}
|
|
2706
|
-
static
|
|
2707
|
-
static
|
|
2708
|
-
static
|
|
2792
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientXsrfModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2793
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientXsrfModule });
|
|
2794
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientXsrfModule, providers: [
|
|
2709
2795
|
HttpXsrfInterceptor,
|
|
2710
2796
|
{ provide: HTTP_INTERCEPTORS, useExisting: HttpXsrfInterceptor, multi: true },
|
|
2711
2797
|
{ provide: HttpXsrfTokenExtractor, useClass: HttpXsrfCookieExtractor },
|
|
@@ -2714,9 +2800,9 @@ class HttpClientXsrfModule {
|
|
|
2714
2800
|
headerName: XSRF_DEFAULT_HEADER_NAME,
|
|
2715
2801
|
}).ɵproviders,
|
|
2716
2802
|
{ provide: XSRF_ENABLED, useValue: true },
|
|
2717
|
-
] });
|
|
2803
|
+
] });
|
|
2718
2804
|
}
|
|
2719
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientXsrfModule, decorators: [{
|
|
2720
2806
|
type: NgModule,
|
|
2721
2807
|
args: [{
|
|
2722
2808
|
providers: [
|
|
@@ -2742,11 +2828,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
2742
2828
|
* @deprecated use `provideHttpClient(withInterceptorsFromDi())` as providers instead
|
|
2743
2829
|
*/
|
|
2744
2830
|
class HttpClientModule {
|
|
2745
|
-
static
|
|
2746
|
-
static
|
|
2747
|
-
static
|
|
2831
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2832
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientModule });
|
|
2833
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientModule, providers: [provideHttpClient(withInterceptorsFromDi())] });
|
|
2748
2834
|
}
|
|
2749
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2835
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientModule, decorators: [{
|
|
2750
2836
|
type: NgModule,
|
|
2751
2837
|
args: [{
|
|
2752
2838
|
/**
|
|
@@ -2766,11 +2852,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
2766
2852
|
* @deprecated `withJsonpSupport()` as providers instead
|
|
2767
2853
|
*/
|
|
2768
2854
|
class HttpClientJsonpModule {
|
|
2769
|
-
static
|
|
2770
|
-
static
|
|
2771
|
-
static
|
|
2855
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientJsonpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2856
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientJsonpModule });
|
|
2857
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientJsonpModule, providers: [withJsonpSupport().ɵproviders] });
|
|
2772
2858
|
}
|
|
2773
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
2859
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: HttpClientJsonpModule, decorators: [{
|
|
2774
2860
|
type: NgModule,
|
|
2775
2861
|
args: [{
|
|
2776
2862
|
providers: [withJsonpSupport().ɵproviders],
|