@alterior/http 3.0.0-rc.5 → 3.0.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/dist/backend.js +4 -10
- package/dist/backend.js.map +1 -1
- package/dist/client.js +49 -59
- package/dist/client.js.map +1 -1
- package/dist/headers.js +65 -71
- package/dist/headers.js.map +1 -1
- package/dist/interceptor.js +14 -18
- package/dist/interceptor.js.map +1 -1
- package/dist/module.js +68 -80
- package/dist/module.js.map +1 -1
- package/dist/params.js +53 -62
- package/dist/params.js.map +1 -1
- package/dist/request.js +26 -32
- package/dist/request.js.map +1 -1
- package/dist/response.js +30 -48
- package/dist/response.js.map +1 -1
- package/dist/server.js +42 -52
- package/dist/server.js.map +1 -1
- package/dist/test/client.test.js +59 -59
- package/dist/test/client.test.js.map +1 -1
- package/dist/test/headers.test.js +58 -58
- package/dist/test/headers.test.js.map +1 -1
- package/dist/test/module.test.js +92 -130
- package/dist/test/module.test.js.map +1 -1
- package/dist/test/params.test.js +30 -30
- package/dist/test/params.test.js.map +1 -1
- package/dist/test/request.test.js +77 -77
- package/dist/test/request.test.js.map +1 -1
- package/dist/test/response.test.js +22 -22
- package/dist/test/response.test.js.map +1 -1
- package/dist/test/test.js +1 -1
- package/dist/test/test.js.map +1 -1
- package/dist/test/xhr.mock.js +38 -43
- package/dist/test/xhr.mock.js.map +1 -1
- package/dist/test/xhr.test.js +98 -99
- package/dist/test/xhr.test.js.map +1 -1
- package/dist/test/xsrf.test.js +28 -32
- package/dist/test/xsrf.test.js.map +1 -1
- package/dist/testing/api.js +2 -5
- package/dist/testing/api.js.map +1 -1
- package/dist/testing/backend.js +54 -58
- package/dist/testing/backend.js.map +1 -1
- package/dist/testing/module.js +20 -23
- package/dist/testing/module.js.map +1 -1
- package/dist/testing/request.js +33 -41
- package/dist/testing/request.js.map +1 -1
- package/dist/testing/request.test.js +11 -11
- package/dist/testing/request.test.js.map +1 -1
- package/dist/xhr.js +61 -68
- package/dist/xhr.js.map +1 -1
- package/dist/xsrf.js +16 -20
- package/dist/xsrf.js.map +1 -1
- package/package.json +5 -5
package/dist/test/module.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
4
|
/**
|
|
5
5
|
* @license
|
|
6
6
|
* Copyright Google Inc. All Rights Reserved.JsonpCallbackContext
|
|
@@ -8,149 +8,111 @@ var tslib_1 = require("tslib");
|
|
|
8
8
|
* Use of this source code is governed by an MIT-style license that can be
|
|
9
9
|
* found in the LICENSE file at https://angular.io/license
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
const razmin_1 = require("razmin");
|
|
12
|
+
const chai_1 = require("chai");
|
|
13
|
+
const di_1 = require("@alterior/di");
|
|
14
|
+
const operators_1 = require("rxjs/operators");
|
|
15
|
+
const runtime_1 = require("@alterior/runtime");
|
|
16
|
+
const client_1 = require("../client");
|
|
17
|
+
const interceptor_1 = require("../interceptor");
|
|
18
|
+
const response_1 = require("../response");
|
|
19
|
+
const api_1 = require("../testing/api");
|
|
20
|
+
const module_1 = require("../testing/module");
|
|
21
|
+
class TestInterceptor {
|
|
22
|
+
constructor(value) {
|
|
23
23
|
this.value = value;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var next = !!existing ? existing + ',' + this.value : this.value;
|
|
25
|
+
intercept(req, delegate) {
|
|
26
|
+
const existing = req.headers.get('Intercepted');
|
|
27
|
+
const next = !!existing ? existing + ',' + this.value : this.value;
|
|
29
28
|
req = req.clone({ setHeaders: { 'Intercepted': next } });
|
|
30
|
-
return delegate.handle(req).pipe((0, operators_1.map)(
|
|
29
|
+
return delegate.handle(req).pipe((0, operators_1.map)(event => {
|
|
31
30
|
if (event instanceof response_1.HttpResponse) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return event.clone({ headers: event.headers.set('Intercepted',
|
|
31
|
+
const existing = event.headers.get('Intercepted');
|
|
32
|
+
const next = !!existing ? existing + ',' + this.value : this.value;
|
|
33
|
+
return event.clone({ headers: event.headers.set('Intercepted', next) });
|
|
35
34
|
}
|
|
36
35
|
return event;
|
|
37
36
|
}));
|
|
38
|
-
};
|
|
39
|
-
return TestInterceptor;
|
|
40
|
-
}());
|
|
41
|
-
var InterceptorA = /** @class */ (function (_super) {
|
|
42
|
-
(0, tslib_1.__extends)(InterceptorA, _super);
|
|
43
|
-
function InterceptorA() {
|
|
44
|
-
return _super.call(this, 'A') || this;
|
|
45
37
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var ReentrantInterceptor = /** @class */ (function () {
|
|
56
|
-
function ReentrantInterceptor(client) {
|
|
38
|
+
}
|
|
39
|
+
class InterceptorA extends TestInterceptor {
|
|
40
|
+
constructor() { super('A'); }
|
|
41
|
+
}
|
|
42
|
+
class InterceptorB extends TestInterceptor {
|
|
43
|
+
constructor() { super('B'); }
|
|
44
|
+
}
|
|
45
|
+
let ReentrantInterceptor = class ReentrantInterceptor {
|
|
46
|
+
constructor(client) {
|
|
57
47
|
this.client = client;
|
|
58
48
|
}
|
|
59
|
-
|
|
49
|
+
intercept(req, next) {
|
|
60
50
|
return next.handle(req);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}());
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
ReentrantInterceptor = (0, tslib_1.__decorate)([
|
|
54
|
+
(0, di_1.Injectable)(),
|
|
55
|
+
(0, tslib_1.__metadata)("design:paramtypes", [client_1.HttpClient])
|
|
56
|
+
], ReentrantInterceptor);
|
|
68
57
|
{
|
|
69
|
-
(0, razmin_1.describe)('HttpClientModule',
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}());
|
|
91
|
-
return [4 /*yield*/, runtime_1.Application.bootstrap(TestModule)];
|
|
92
|
-
case 1:
|
|
93
|
-
app = _a.sent();
|
|
94
|
-
injector = app.injector;
|
|
95
|
-
return [2 /*return*/];
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}); });
|
|
99
|
-
(0, razmin_1.it)('initializes HttpClient properly', function (done) {
|
|
100
|
-
injector.get(client_1.HttpClient).get('/test', { responseType: 'text' }).subscribe(function (value) {
|
|
101
|
-
(0, chai_1.expect)(value).to.equal('ok!');
|
|
102
|
-
done();
|
|
103
|
-
});
|
|
104
|
-
var thing = injector.get(api_1.HttpTestingController);
|
|
105
|
-
injector.get(api_1.HttpTestingController).expectOne('/test').flush('ok!');
|
|
106
|
-
});
|
|
107
|
-
(0, razmin_1.it)('intercepts outbound responses in the order in which interceptors were bound', function (done) {
|
|
108
|
-
injector.get(client_1.HttpClient)
|
|
109
|
-
.get('/test', { observe: 'response', responseType: 'text' })
|
|
110
|
-
.subscribe(function (value) { return done(); });
|
|
111
|
-
var req = injector.get(api_1.HttpTestingController).expectOne('/test');
|
|
112
|
-
(0, chai_1.expect)(req.request.headers.get('Intercepted')).to.equal('A,B');
|
|
113
|
-
req.flush('ok!');
|
|
58
|
+
(0, razmin_1.describe)('HttpClientModule', () => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
59
|
+
let injector;
|
|
60
|
+
(0, razmin_1.beforeEach)(() => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
61
|
+
let TestModule = class TestModule {
|
|
62
|
+
};
|
|
63
|
+
TestModule = (0, tslib_1.__decorate)([
|
|
64
|
+
(0, di_1.Module)({
|
|
65
|
+
imports: [module_1.HttpClientTestingModule],
|
|
66
|
+
providers: [
|
|
67
|
+
{ provide: interceptor_1.HTTP_INTERCEPTORS, useClass: InterceptorA, multi: true },
|
|
68
|
+
{ provide: interceptor_1.HTTP_INTERCEPTORS, useClass: InterceptorB, multi: true }
|
|
69
|
+
]
|
|
70
|
+
})
|
|
71
|
+
], TestModule);
|
|
72
|
+
let app = yield runtime_1.Application.bootstrap(TestModule);
|
|
73
|
+
injector = app.injector;
|
|
74
|
+
}));
|
|
75
|
+
(0, razmin_1.it)('initializes HttpClient properly', done => {
|
|
76
|
+
injector.get(client_1.HttpClient).get('/test', { responseType: 'text' }).subscribe(value => {
|
|
77
|
+
(0, chai_1.expect)(value).to.equal('ok!');
|
|
78
|
+
done();
|
|
114
79
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
80
|
+
let thing = injector.get(api_1.HttpTestingController);
|
|
81
|
+
injector.get(api_1.HttpTestingController).expectOne('/test').flush('ok!');
|
|
82
|
+
});
|
|
83
|
+
(0, razmin_1.it)('intercepts outbound responses in the order in which interceptors were bound', done => {
|
|
84
|
+
injector.get(client_1.HttpClient)
|
|
85
|
+
.get('/test', { observe: 'response', responseType: 'text' })
|
|
86
|
+
.subscribe(value => done());
|
|
87
|
+
const req = injector.get(api_1.HttpTestingController).expectOne('/test');
|
|
88
|
+
(0, chai_1.expect)(req.request.headers.get('Intercepted')).to.equal('A,B');
|
|
89
|
+
req.flush('ok!');
|
|
90
|
+
});
|
|
91
|
+
(0, razmin_1.it)('intercepts inbound responses in the right (reverse binding) order', done => {
|
|
92
|
+
injector.get(client_1.HttpClient)
|
|
93
|
+
.get('/test', { observe: 'response', responseType: 'text' })
|
|
94
|
+
.subscribe(value => {
|
|
95
|
+
(0, chai_1.expect)(value.headers.get('Intercepted')).to.equal('B,A');
|
|
96
|
+
done();
|
|
123
97
|
});
|
|
124
|
-
(
|
|
125
|
-
var TestModule, app, injector;
|
|
126
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
|
127
|
-
switch (_a.label) {
|
|
128
|
-
case 0:
|
|
129
|
-
TestModule = /** @class */ (function () {
|
|
130
|
-
function TestModule() {
|
|
131
|
-
}
|
|
132
|
-
TestModule = (0, tslib_1.__decorate)([
|
|
133
|
-
(0, di_1.Module)({
|
|
134
|
-
imports: [module_1.HttpClientTestingModule],
|
|
135
|
-
providers: [
|
|
136
|
-
{ provide: interceptor_1.HTTP_INTERCEPTORS, useClass: ReentrantInterceptor, multi: true },
|
|
137
|
-
],
|
|
138
|
-
})
|
|
139
|
-
], TestModule);
|
|
140
|
-
return TestModule;
|
|
141
|
-
}());
|
|
142
|
-
return [4 /*yield*/, runtime_1.Application.bootstrap(TestModule)];
|
|
143
|
-
case 1:
|
|
144
|
-
app = _a.sent();
|
|
145
|
-
injector = app.injector;
|
|
146
|
-
injector.get(client_1.HttpClient).get('/test').subscribe(function () { done(); });
|
|
147
|
-
injector.get(api_1.HttpTestingController).expectOne('/test').flush('ok!');
|
|
148
|
-
return [2 /*return*/];
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}); });
|
|
152
|
-
return [2 /*return*/];
|
|
98
|
+
injector.get(api_1.HttpTestingController).expectOne('/test').flush('ok!');
|
|
153
99
|
});
|
|
154
|
-
|
|
100
|
+
(0, razmin_1.it)('allows interceptors to inject HttpClient', (done) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
101
|
+
let TestModule = class TestModule {
|
|
102
|
+
};
|
|
103
|
+
TestModule = (0, tslib_1.__decorate)([
|
|
104
|
+
(0, di_1.Module)({
|
|
105
|
+
imports: [module_1.HttpClientTestingModule],
|
|
106
|
+
providers: [
|
|
107
|
+
{ provide: interceptor_1.HTTP_INTERCEPTORS, useClass: ReentrantInterceptor, multi: true },
|
|
108
|
+
],
|
|
109
|
+
})
|
|
110
|
+
], TestModule);
|
|
111
|
+
let app = yield runtime_1.Application.bootstrap(TestModule);
|
|
112
|
+
let injector = app.injector;
|
|
113
|
+
injector.get(client_1.HttpClient).get('/test').subscribe(() => { done(); });
|
|
114
|
+
injector.get(api_1.HttpTestingController).expectOne('/test').flush('ok!');
|
|
115
|
+
}));
|
|
116
|
+
}));
|
|
155
117
|
}
|
|
156
118
|
//# sourceMappingURL=module.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.test.js","sourceRoot":"","sources":["../../src/test/module.test.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"module.test.js","sourceRoot":"","sources":["../../src/test/module.test.ts"],"names":[],"mappings":"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"}
|
package/dist/test/params.test.js
CHANGED
|
@@ -7,56 +7,56 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Use of this source code is governed by an MIT-style license that can be
|
|
8
8
|
* found in the LICENSE file at https://angular.io/license
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
(0, razmin_1.describe)('HttpUrlEncodedParams',
|
|
14
|
-
(0, razmin_1.describe)('initialization',
|
|
15
|
-
(0, razmin_1.it)('should be empty at construction',
|
|
16
|
-
|
|
10
|
+
const razmin_1 = require("razmin");
|
|
11
|
+
const chai_1 = require("chai");
|
|
12
|
+
const params_1 = require("../params");
|
|
13
|
+
(0, razmin_1.describe)('HttpUrlEncodedParams', () => {
|
|
14
|
+
(0, razmin_1.describe)('initialization', () => {
|
|
15
|
+
(0, razmin_1.it)('should be empty at construction', () => {
|
|
16
|
+
const body = new params_1.HttpParams();
|
|
17
17
|
(0, chai_1.expect)(body.toString()).to.equal('');
|
|
18
18
|
});
|
|
19
|
-
(0, razmin_1.it)('should parse an existing url',
|
|
20
|
-
|
|
19
|
+
(0, razmin_1.it)('should parse an existing url', () => {
|
|
20
|
+
const body = new params_1.HttpParams({ fromString: 'a=b&c=d&c=e' });
|
|
21
21
|
(0, chai_1.expect)(body.getAll('a')).to.eql(['b']);
|
|
22
22
|
(0, chai_1.expect)(body.getAll('c')).to.eql(['d', 'e']);
|
|
23
23
|
});
|
|
24
24
|
});
|
|
25
|
-
(0, razmin_1.describe)('lazy mutation',
|
|
26
|
-
(0, razmin_1.it)('should allow setting parameters',
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
(0, razmin_1.describe)('lazy mutation', () => {
|
|
26
|
+
(0, razmin_1.it)('should allow setting parameters', () => {
|
|
27
|
+
const body = new params_1.HttpParams({ fromString: 'a=b' });
|
|
28
|
+
const mutated = body.set('a', 'c');
|
|
29
29
|
(0, chai_1.expect)(mutated.toString()).to.equal('a=c');
|
|
30
30
|
});
|
|
31
|
-
(0, razmin_1.it)('should allow appending parameters',
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
(0, razmin_1.it)('should allow appending parameters', () => {
|
|
32
|
+
const body = new params_1.HttpParams({ fromString: 'a=b' });
|
|
33
|
+
const mutated = body.append('a', 'c');
|
|
34
34
|
(0, chai_1.expect)(mutated.toString()).to.equal('a=b&a=c');
|
|
35
35
|
});
|
|
36
|
-
(0, razmin_1.it)('should allow deletion of parameters',
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
(0, razmin_1.it)('should allow deletion of parameters', () => {
|
|
37
|
+
const body = new params_1.HttpParams({ fromString: 'a=b&c=d&e=f' });
|
|
38
|
+
const mutated = body.delete('c');
|
|
39
39
|
(0, chai_1.expect)(mutated.toString()).to.equal('a=b&e=f');
|
|
40
40
|
});
|
|
41
|
-
(0, razmin_1.it)('should allow chaining of mutations',
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
(0, razmin_1.it)('should allow chaining of mutations', () => {
|
|
42
|
+
const body = new params_1.HttpParams({ fromString: 'a=b&c=d&e=f' });
|
|
43
|
+
const mutated = body.append('e', 'y').delete('c').set('a', 'x').append('e', 'z');
|
|
44
44
|
(0, chai_1.expect)(mutated.toString()).to.equal('a=x&e=f&e=y&e=z');
|
|
45
45
|
});
|
|
46
|
-
(0, razmin_1.it)('should allow deletion of one value of a parameter',
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
(0, razmin_1.it)('should allow deletion of one value of a parameter', () => {
|
|
47
|
+
const body = new params_1.HttpParams({ fromString: 'a=1&a=2&a=3&a=4&a=5' });
|
|
48
|
+
const mutated = body.delete('a', '2').delete('a', '4');
|
|
49
49
|
(0, chai_1.expect)(mutated.getAll('a')).to.eql(['1', '3', '5']);
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
|
-
(0, razmin_1.describe)('read operations',
|
|
53
|
-
(0, razmin_1.it)('should give null if parameter is not set',
|
|
54
|
-
|
|
52
|
+
(0, razmin_1.describe)('read operations', () => {
|
|
53
|
+
(0, razmin_1.it)('should give null if parameter is not set', () => {
|
|
54
|
+
const body = new params_1.HttpParams({ fromString: 'a=b&c=d' });
|
|
55
55
|
(0, chai_1.expect)(body.get('e')).to.be.null;
|
|
56
56
|
(0, chai_1.expect)(body.getAll('e')).to.be.null;
|
|
57
57
|
});
|
|
58
|
-
(0, razmin_1.it)('should give an accurate list of keys',
|
|
59
|
-
|
|
58
|
+
(0, razmin_1.it)('should give an accurate list of keys', () => {
|
|
59
|
+
const body = new params_1.HttpParams({ fromString: 'a=1&b=2&c=3&d=4' });
|
|
60
60
|
(0, chai_1.expect)(body.keys()).to.eql(['a', 'b', 'c', 'd']);
|
|
61
61
|
});
|
|
62
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.test.js","sourceRoot":"","sources":["../../src/test/params.test.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"params.test.js","sourceRoot":"","sources":["../../src/test/params.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,22 +7,22 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const razmin_1 = require("razmin");
|
|
11
|
+
const chai_1 = require("chai");
|
|
12
|
+
const headers_1 = require("../headers");
|
|
13
|
+
const params_1 = require("../params");
|
|
14
|
+
const request_1 = require("../request");
|
|
15
|
+
const TEST_URL = 'http://angular.io';
|
|
16
|
+
const TEST_STRING = `I'm a body!`;
|
|
17
17
|
{
|
|
18
|
-
(0, razmin_1.describe)('HttpRequest',
|
|
19
|
-
(0, razmin_1.describe)('constructor',
|
|
20
|
-
(0, razmin_1.it)('initializes url',
|
|
21
|
-
|
|
18
|
+
(0, razmin_1.describe)('HttpRequest', () => {
|
|
19
|
+
(0, razmin_1.describe)('constructor', () => {
|
|
20
|
+
(0, razmin_1.it)('initializes url', () => {
|
|
21
|
+
const req = new request_1.HttpRequest('', TEST_URL, null);
|
|
22
22
|
(0, chai_1.expect)(req.url).to.equal(TEST_URL);
|
|
23
23
|
});
|
|
24
|
-
(0, razmin_1.it)('doesn\'t require a body for body-less methods',
|
|
25
|
-
|
|
24
|
+
(0, razmin_1.it)('doesn\'t require a body for body-less methods', () => {
|
|
25
|
+
let req = new request_1.HttpRequest('GET', TEST_URL);
|
|
26
26
|
(0, chai_1.expect)(req.method).to.equal('GET');
|
|
27
27
|
(0, chai_1.expect)(req.body).to.be.null;
|
|
28
28
|
req = new request_1.HttpRequest('HEAD', TEST_URL);
|
|
@@ -35,44 +35,44 @@ var TEST_STRING = "I'm a body!";
|
|
|
35
35
|
(0, chai_1.expect)(req.method).to.equal('OPTIONS');
|
|
36
36
|
(0, chai_1.expect)(req.body).to.be.null;
|
|
37
37
|
});
|
|
38
|
-
(0, razmin_1.it)('accepts a string request method',
|
|
39
|
-
|
|
38
|
+
(0, razmin_1.it)('accepts a string request method', () => {
|
|
39
|
+
const req = new request_1.HttpRequest('TEST', TEST_URL, null);
|
|
40
40
|
(0, chai_1.expect)(req.method).to.equal('TEST');
|
|
41
41
|
});
|
|
42
|
-
(0, razmin_1.it)('accepts a string body',
|
|
43
|
-
|
|
42
|
+
(0, razmin_1.it)('accepts a string body', () => {
|
|
43
|
+
const req = new request_1.HttpRequest('POST', TEST_URL, TEST_STRING);
|
|
44
44
|
(0, chai_1.expect)(req.body).to.equal(TEST_STRING);
|
|
45
45
|
});
|
|
46
|
-
(0, razmin_1.it)('accepts an object body',
|
|
47
|
-
|
|
46
|
+
(0, razmin_1.it)('accepts an object body', () => {
|
|
47
|
+
const req = new request_1.HttpRequest('POST', TEST_URL, { data: TEST_STRING });
|
|
48
48
|
(0, chai_1.expect)(req.body).to.eql({ data: TEST_STRING });
|
|
49
49
|
});
|
|
50
|
-
(0, razmin_1.it)('creates default headers if not passed',
|
|
51
|
-
|
|
50
|
+
(0, razmin_1.it)('creates default headers if not passed', () => {
|
|
51
|
+
const req = new request_1.HttpRequest('GET', TEST_URL);
|
|
52
52
|
(0, chai_1.expect)(req.headers instanceof headers_1.HttpHeaders).to.be.ok;
|
|
53
53
|
});
|
|
54
|
-
(0, razmin_1.it)('uses the provided headers if passed',
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
(0, razmin_1.it)('uses the provided headers if passed', () => {
|
|
55
|
+
const headers = new headers_1.HttpHeaders();
|
|
56
|
+
const req = new request_1.HttpRequest('GET', TEST_URL, { headers });
|
|
57
57
|
(0, chai_1.expect)(req.headers).to.equal(headers);
|
|
58
58
|
});
|
|
59
|
-
(0, razmin_1.it)('defaults to Json',
|
|
60
|
-
|
|
59
|
+
(0, razmin_1.it)('defaults to Json', () => {
|
|
60
|
+
const req = new request_1.HttpRequest('GET', TEST_URL);
|
|
61
61
|
(0, chai_1.expect)(req.responseType).to.equal('json');
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
|
-
(0, razmin_1.describe)('clone() copies the request',
|
|
65
|
-
|
|
64
|
+
(0, razmin_1.describe)('clone() copies the request', () => {
|
|
65
|
+
const headers = new headers_1.HttpHeaders({
|
|
66
66
|
'Test': 'Test header',
|
|
67
67
|
});
|
|
68
|
-
|
|
69
|
-
headers
|
|
68
|
+
const req = new request_1.HttpRequest('POST', TEST_URL, 'test body', {
|
|
69
|
+
headers,
|
|
70
70
|
reportProgress: true,
|
|
71
71
|
responseType: 'text',
|
|
72
72
|
withCredentials: true,
|
|
73
73
|
});
|
|
74
|
-
(0, razmin_1.it)('in the base case',
|
|
75
|
-
|
|
74
|
+
(0, razmin_1.it)('in the base case', () => {
|
|
75
|
+
const clone = req.clone();
|
|
76
76
|
(0, chai_1.expect)(clone.method).to.equal('POST');
|
|
77
77
|
(0, chai_1.expect)(clone.responseType).to.equal('text');
|
|
78
78
|
(0, chai_1.expect)(clone.url).to.equal(TEST_URL);
|
|
@@ -80,78 +80,78 @@ var TEST_STRING = "I'm a body!";
|
|
|
80
80
|
(0, chai_1.expect)(clone.headers).to.equal(headers);
|
|
81
81
|
(0, chai_1.expect)(clone.headers.get('Test')).to.equal('Test header');
|
|
82
82
|
});
|
|
83
|
-
(0, razmin_1.it)('and updates the url',
|
|
84
|
-
(0, razmin_1.it)('and updates the method',
|
|
85
|
-
(0, razmin_1.it)('and updates the body',
|
|
83
|
+
(0, razmin_1.it)('and updates the url', () => { (0, chai_1.expect)(req.clone({ url: '/changed' }).url).to.equal('/changed'); });
|
|
84
|
+
(0, razmin_1.it)('and updates the method', () => { (0, chai_1.expect)(req.clone({ method: 'PUT' }).method).to.equal('PUT'); });
|
|
85
|
+
(0, razmin_1.it)('and updates the body', () => { (0, chai_1.expect)(req.clone({ body: 'changed body' }).body).to.equal('changed body'); });
|
|
86
86
|
});
|
|
87
|
-
(0, razmin_1.describe)('content type detection',
|
|
88
|
-
|
|
89
|
-
(0, razmin_1.it)('handles a null body',
|
|
90
|
-
(0, razmin_1.it)('doesn\'t associate a content type with ArrayBuffers',
|
|
91
|
-
|
|
87
|
+
(0, razmin_1.describe)('content type detection', () => {
|
|
88
|
+
const baseReq = new request_1.HttpRequest('POST', '/test', null);
|
|
89
|
+
(0, razmin_1.it)('handles a null body', () => { (0, chai_1.expect)(baseReq.detectContentTypeHeader()).to.be.null; });
|
|
90
|
+
(0, razmin_1.it)('doesn\'t associate a content type with ArrayBuffers', () => {
|
|
91
|
+
const req = baseReq.clone({ body: new ArrayBuffer(4) });
|
|
92
92
|
(0, chai_1.expect)(req.detectContentTypeHeader()).to.be.null;
|
|
93
93
|
});
|
|
94
|
-
(0, razmin_1.it)('handles strings as text',
|
|
95
|
-
|
|
94
|
+
(0, razmin_1.it)('handles strings as text', () => {
|
|
95
|
+
const req = baseReq.clone({ body: 'hello world' });
|
|
96
96
|
(0, chai_1.expect)(req.detectContentTypeHeader()).to.equal('text/plain');
|
|
97
97
|
});
|
|
98
|
-
(0, razmin_1.it)('handles arrays as json',
|
|
99
|
-
|
|
98
|
+
(0, razmin_1.it)('handles arrays as json', () => {
|
|
99
|
+
const req = baseReq.clone({ body: ['a', 'b'] });
|
|
100
100
|
(0, chai_1.expect)(req.detectContentTypeHeader()).to.equal('application/json');
|
|
101
101
|
});
|
|
102
|
-
(0, razmin_1.it)('handles numbers as json',
|
|
103
|
-
|
|
102
|
+
(0, razmin_1.it)('handles numbers as json', () => {
|
|
103
|
+
const req = baseReq.clone({ body: 314159 });
|
|
104
104
|
(0, chai_1.expect)(req.detectContentTypeHeader()).to.equal('application/json');
|
|
105
105
|
});
|
|
106
|
-
(0, razmin_1.it)('handles objects as json',
|
|
107
|
-
|
|
106
|
+
(0, razmin_1.it)('handles objects as json', () => {
|
|
107
|
+
const req = baseReq.clone({ body: { data: 'test data' } });
|
|
108
108
|
(0, chai_1.expect)(req.detectContentTypeHeader()).to.equal('application/json');
|
|
109
109
|
});
|
|
110
110
|
});
|
|
111
|
-
(0, razmin_1.describe)('body serialization',
|
|
112
|
-
|
|
113
|
-
(0, razmin_1.it)('handles a null body',
|
|
114
|
-
(0, razmin_1.it)('passes ArrayBuffers through',
|
|
115
|
-
|
|
116
|
-
(0, chai_1.expect)(baseReq.clone({ body
|
|
117
|
-
});
|
|
118
|
-
(0, razmin_1.it)('passes strings through',
|
|
119
|
-
|
|
120
|
-
(0, chai_1.expect)(baseReq.clone({ body
|
|
121
|
-
});
|
|
122
|
-
(0, razmin_1.it)('serializes arrays as json',
|
|
111
|
+
(0, razmin_1.describe)('body serialization', () => {
|
|
112
|
+
const baseReq = new request_1.HttpRequest('POST', '/test', null);
|
|
113
|
+
(0, razmin_1.it)('handles a null body', () => { (0, chai_1.expect)(baseReq.serializeBody()).to.be.null; });
|
|
114
|
+
(0, razmin_1.it)('passes ArrayBuffers through', () => {
|
|
115
|
+
const body = new ArrayBuffer(4);
|
|
116
|
+
(0, chai_1.expect)(baseReq.clone({ body }).serializeBody()).to.equal(body);
|
|
117
|
+
});
|
|
118
|
+
(0, razmin_1.it)('passes strings through', () => {
|
|
119
|
+
const body = 'hello world';
|
|
120
|
+
(0, chai_1.expect)(baseReq.clone({ body }).serializeBody()).to.equal(body);
|
|
121
|
+
});
|
|
122
|
+
(0, razmin_1.it)('serializes arrays as json', () => {
|
|
123
123
|
(0, chai_1.expect)(baseReq.clone({ body: ['a', 'b'] }).serializeBody()).to.equal('["a","b"]');
|
|
124
124
|
});
|
|
125
|
-
(0, razmin_1.it)('handles numbers as json',
|
|
126
|
-
(0, razmin_1.it)('handles objects as json',
|
|
127
|
-
|
|
125
|
+
(0, razmin_1.it)('handles numbers as json', () => { (0, chai_1.expect)(baseReq.clone({ body: 314159 }).serializeBody()).to.equal('314159'); });
|
|
126
|
+
(0, razmin_1.it)('handles objects as json', () => {
|
|
127
|
+
const req = baseReq.clone({ body: { data: 'test data' } });
|
|
128
128
|
(0, chai_1.expect)(req.serializeBody()).to.equal('{"data":"test data"}');
|
|
129
129
|
});
|
|
130
|
-
(0, razmin_1.it)('serializes parameters as urlencoded',
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
(0, razmin_1.it)('serializes parameters as urlencoded', () => {
|
|
131
|
+
const params = new params_1.HttpParams().append('first', 'value').append('second', 'other');
|
|
132
|
+
const withParams = baseReq.clone({ body: params });
|
|
133
133
|
(0, chai_1.expect)(withParams.serializeBody()).to.equal('first=value&second=other');
|
|
134
134
|
(0, chai_1.expect)(withParams.detectContentTypeHeader())
|
|
135
135
|
.to.equal('application/x-www-form-urlencoded;charset=UTF-8');
|
|
136
136
|
});
|
|
137
137
|
});
|
|
138
|
-
(0, razmin_1.describe)('parameter handling',
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
(0, razmin_1.it)('appends parameters to a base URL',
|
|
142
|
-
|
|
138
|
+
(0, razmin_1.describe)('parameter handling', () => {
|
|
139
|
+
const baseReq = new request_1.HttpRequest('GET', '/test', null);
|
|
140
|
+
const params = new params_1.HttpParams({ fromString: 'test=true' });
|
|
141
|
+
(0, razmin_1.it)('appends parameters to a base URL', () => {
|
|
142
|
+
const req = baseReq.clone({ params });
|
|
143
143
|
(0, chai_1.expect)(req.urlWithParams).to.equal('/test?test=true');
|
|
144
144
|
});
|
|
145
|
-
(0, razmin_1.it)('appends parameters to a URL with an empty query string',
|
|
146
|
-
|
|
145
|
+
(0, razmin_1.it)('appends parameters to a URL with an empty query string', () => {
|
|
146
|
+
const req = baseReq.clone({ params, url: '/test?' });
|
|
147
147
|
(0, chai_1.expect)(req.urlWithParams).to.equal('/test?test=true');
|
|
148
148
|
});
|
|
149
|
-
(0, razmin_1.it)('appends parameters to a URL with a query string',
|
|
150
|
-
|
|
149
|
+
(0, razmin_1.it)('appends parameters to a URL with a query string', () => {
|
|
150
|
+
const req = baseReq.clone({ params, url: '/test?other=false' });
|
|
151
151
|
(0, chai_1.expect)(req.urlWithParams).to.equal('/test?other=false&test=true');
|
|
152
152
|
});
|
|
153
|
-
(0, razmin_1.it)('sets parameters via setParams',
|
|
154
|
-
|
|
153
|
+
(0, razmin_1.it)('sets parameters via setParams', () => {
|
|
154
|
+
const req = baseReq.clone({ setParams: { 'test': 'false' } });
|
|
155
155
|
(0, chai_1.expect)(req.urlWithParams).to.equal('/test?test=false');
|
|
156
156
|
});
|
|
157
157
|
});
|