request-iframe 0.0.1
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/QUICKSTART.CN.md +269 -0
- package/QUICKSTART.md +269 -0
- package/README.CN.md +1369 -0
- package/README.md +1016 -0
- package/library/__tests__/interceptors.test.ts +124 -0
- package/library/__tests__/requestIframe.test.ts +2216 -0
- package/library/__tests__/stream.test.ts +650 -0
- package/library/__tests__/utils.test.ts +433 -0
- package/library/api/client.d.ts +16 -0
- package/library/api/client.d.ts.map +1 -0
- package/library/api/client.js +72 -0
- package/library/api/server.d.ts +16 -0
- package/library/api/server.d.ts.map +1 -0
- package/library/api/server.js +44 -0
- package/library/constants/index.d.ts +209 -0
- package/library/constants/index.d.ts.map +1 -0
- package/library/constants/index.js +260 -0
- package/library/constants/messages.d.ts +80 -0
- package/library/constants/messages.d.ts.map +1 -0
- package/library/constants/messages.js +123 -0
- package/library/core/client.d.ts +99 -0
- package/library/core/client.d.ts.map +1 -0
- package/library/core/client.js +440 -0
- package/library/core/message-handler.d.ts +110 -0
- package/library/core/message-handler.d.ts.map +1 -0
- package/library/core/message-handler.js +320 -0
- package/library/core/request-response.d.ts +59 -0
- package/library/core/request-response.d.ts.map +1 -0
- package/library/core/request-response.js +337 -0
- package/library/core/request.d.ts +17 -0
- package/library/core/request.d.ts.map +1 -0
- package/library/core/request.js +34 -0
- package/library/core/response.d.ts +51 -0
- package/library/core/response.d.ts.map +1 -0
- package/library/core/response.js +323 -0
- package/library/core/server-base.d.ts +86 -0
- package/library/core/server-base.d.ts.map +1 -0
- package/library/core/server-base.js +257 -0
- package/library/core/server-client.d.ts +99 -0
- package/library/core/server-client.d.ts.map +1 -0
- package/library/core/server-client.js +256 -0
- package/library/core/server.d.ts +82 -0
- package/library/core/server.d.ts.map +1 -0
- package/library/core/server.js +338 -0
- package/library/index.d.ts +16 -0
- package/library/index.d.ts.map +1 -0
- package/library/index.js +211 -0
- package/library/interceptors/index.d.ts +41 -0
- package/library/interceptors/index.d.ts.map +1 -0
- package/library/interceptors/index.js +126 -0
- package/library/message/channel.d.ts +107 -0
- package/library/message/channel.d.ts.map +1 -0
- package/library/message/channel.js +184 -0
- package/library/message/dispatcher.d.ts +119 -0
- package/library/message/dispatcher.d.ts.map +1 -0
- package/library/message/dispatcher.js +249 -0
- package/library/message/index.d.ts +5 -0
- package/library/message/index.d.ts.map +1 -0
- package/library/message/index.js +25 -0
- package/library/stream/file-stream.d.ts +48 -0
- package/library/stream/file-stream.d.ts.map +1 -0
- package/library/stream/file-stream.js +240 -0
- package/library/stream/index.d.ts +15 -0
- package/library/stream/index.d.ts.map +1 -0
- package/library/stream/index.js +83 -0
- package/library/stream/readable-stream.d.ts +83 -0
- package/library/stream/readable-stream.d.ts.map +1 -0
- package/library/stream/readable-stream.js +249 -0
- package/library/stream/types.d.ts +165 -0
- package/library/stream/types.d.ts.map +1 -0
- package/library/stream/types.js +5 -0
- package/library/stream/writable-stream.d.ts +60 -0
- package/library/stream/writable-stream.d.ts.map +1 -0
- package/library/stream/writable-stream.js +348 -0
- package/library/types/index.d.ts +408 -0
- package/library/types/index.d.ts.map +1 -0
- package/library/types/index.js +5 -0
- package/library/utils/cache.d.ts +19 -0
- package/library/utils/cache.d.ts.map +1 -0
- package/library/utils/cache.js +83 -0
- package/library/utils/cookie.d.ts +117 -0
- package/library/utils/cookie.d.ts.map +1 -0
- package/library/utils/cookie.js +365 -0
- package/library/utils/debug.d.ts +11 -0
- package/library/utils/debug.d.ts.map +1 -0
- package/library/utils/debug.js +162 -0
- package/library/utils/index.d.ts +13 -0
- package/library/utils/index.d.ts.map +1 -0
- package/library/utils/index.js +132 -0
- package/library/utils/path-match.d.ts +17 -0
- package/library/utils/path-match.d.ts.map +1 -0
- package/library/utils/path-match.js +90 -0
- package/library/utils/protocol.d.ts +61 -0
- package/library/utils/protocol.d.ts.map +1 -0
- package/library/utils/protocol.js +169 -0
- package/package.json +58 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import {
|
|
2
|
+
InterceptorManager,
|
|
3
|
+
RequestInterceptorManager,
|
|
4
|
+
ResponseInterceptorManager,
|
|
5
|
+
runRequestInterceptors,
|
|
6
|
+
runResponseInterceptors
|
|
7
|
+
} from '../interceptors';
|
|
8
|
+
import { RequestConfig, Response } from '../types';
|
|
9
|
+
|
|
10
|
+
describe('interceptors', () => {
|
|
11
|
+
describe('InterceptorManager', () => {
|
|
12
|
+
it('should add and remove interceptors', () => {
|
|
13
|
+
const manager = new InterceptorManager<RequestConfig>();
|
|
14
|
+
const interceptor = jest.fn((config) => config);
|
|
15
|
+
|
|
16
|
+
const id = manager.use(interceptor);
|
|
17
|
+
expect(typeof id).toBe('number');
|
|
18
|
+
|
|
19
|
+
manager.eject(id);
|
|
20
|
+
manager.forEach((handler) => {
|
|
21
|
+
expect(handler).not.toBe(interceptor);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('should iterate over all interceptors', () => {
|
|
26
|
+
const manager = new InterceptorManager<RequestConfig>();
|
|
27
|
+
const interceptor1 = jest.fn((config) => config);
|
|
28
|
+
const interceptor2 = jest.fn((config) => config);
|
|
29
|
+
|
|
30
|
+
manager.use(interceptor1);
|
|
31
|
+
manager.use(interceptor2);
|
|
32
|
+
|
|
33
|
+
const handlers: any[] = [];
|
|
34
|
+
manager.forEach((handler) => {
|
|
35
|
+
handlers.push(handler.fulfilled);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
expect(handlers).toContain(interceptor1);
|
|
39
|
+
expect(handlers).toContain(interceptor2);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
describe('runRequestInterceptors', () => {
|
|
44
|
+
it('should execute request interceptors in order', async () => {
|
|
45
|
+
const manager = new RequestInterceptorManager();
|
|
46
|
+
const order: number[] = [];
|
|
47
|
+
|
|
48
|
+
manager.use(async (config) => {
|
|
49
|
+
order.push(1);
|
|
50
|
+
return config;
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
manager.use(async (config) => {
|
|
54
|
+
order.push(2);
|
|
55
|
+
return config;
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
const config: RequestConfig = { path: 'test' };
|
|
59
|
+
await runRequestInterceptors(manager, config);
|
|
60
|
+
|
|
61
|
+
expect(order).toEqual([1, 2]);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('should be able to modify config', async () => {
|
|
65
|
+
const manager = new RequestInterceptorManager();
|
|
66
|
+
|
|
67
|
+
manager.use((config) => {
|
|
68
|
+
config.body = { modified: true };
|
|
69
|
+
return config;
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
const config: RequestConfig = { path: 'test' };
|
|
73
|
+
const result = await runRequestInterceptors(manager, config);
|
|
74
|
+
|
|
75
|
+
expect(result.body).toEqual({ modified: true });
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
describe('runResponseInterceptors', () => {
|
|
80
|
+
it('should execute response interceptors in order', async () => {
|
|
81
|
+
const manager = new ResponseInterceptorManager();
|
|
82
|
+
const order: number[] = [];
|
|
83
|
+
|
|
84
|
+
manager.use(async (response) => {
|
|
85
|
+
order.push(1);
|
|
86
|
+
return response;
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
manager.use(async (response) => {
|
|
90
|
+
order.push(2);
|
|
91
|
+
return response;
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const response: Response = {
|
|
95
|
+
data: {},
|
|
96
|
+
status: 200,
|
|
97
|
+
statusText: 'OK',
|
|
98
|
+
requestId: 'req123'
|
|
99
|
+
};
|
|
100
|
+
await runResponseInterceptors(manager, response);
|
|
101
|
+
|
|
102
|
+
expect(order).toEqual([1, 2]);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
it('should be able to modify response', async () => {
|
|
106
|
+
const manager = new ResponseInterceptorManager();
|
|
107
|
+
|
|
108
|
+
manager.use((response) => {
|
|
109
|
+
response.data = { modified: true };
|
|
110
|
+
return response;
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
const response: Response = {
|
|
114
|
+
data: {},
|
|
115
|
+
status: 200,
|
|
116
|
+
statusText: 'OK',
|
|
117
|
+
requestId: 'req123'
|
|
118
|
+
};
|
|
119
|
+
const result = await runResponseInterceptors(manager, response);
|
|
120
|
+
|
|
121
|
+
expect(result.data).toEqual({ modified: true });
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|