@rudderstack/integrations-lib 0.1.2 → 0.1.3

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.
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const axios_1 = __importDefault(require("axios"));
7
+ const axios_mock_adapter_1 = __importDefault(require("axios-mock-adapter"));
8
+ const axios_client_1 = require("./axios_client"); // Import the AxiosClient class
9
+ // Mock Axios for testing
10
+ jest.mock('axios', () => {
11
+ return {
12
+ ...jest.requireActual('axios'),
13
+ create: jest.fn().mockReturnValue(jest.requireActual('axios')),
14
+ };
15
+ });
16
+ // Test cases
17
+ describe('AxiosClient', () => {
18
+ let axiosClient;
19
+ let mockAxios;
20
+ beforeEach(() => {
21
+ mockAxios = new axios_mock_adapter_1.default(axios_1.default); // Create a MockAdapter for Axios
22
+ axiosClient = new axios_client_1.AxiosClient(); // Create a new AxiosClient instance for each test
23
+ });
24
+ afterEach(() => {
25
+ mockAxios.restore();
26
+ });
27
+ describe('happy flow tests', () => {
28
+ // Scenario 1: GET request and receive a response
29
+ it('should make a GET request and receive a response', async () => {
30
+ // Mock the GET request using axios-mock-adapter
31
+ mockAxios.onGet('https://example.com').reply(200, 'GET response');
32
+ const response = (await axiosClient.get('https://example.com'));
33
+ expect(response.type).toBe('success');
34
+ expect(response.statusCode).toBe(200);
35
+ expect(response.responseBody).toBe('GET response');
36
+ });
37
+ // Scenario 2: POST request and receive a response
38
+ it('should make a POST request and receive a response', async () => {
39
+ // Mock the axios.post method to return a response
40
+ mockAxios.onPost('https://example.com').reply(201, 'POST response');
41
+ const response = (await axiosClient.post('https://example.com', {
42
+ foo: 'bar',
43
+ }));
44
+ expect(response.type).toBe('success');
45
+ expect(response.statusCode).toBe(201);
46
+ expect(response.responseBody).toBe('POST response');
47
+ });
48
+ // Scenario 3: PUT request and receive a response
49
+ it('should make a PUT request and receive a response', async () => {
50
+ // Mock the axios.put method to return a response
51
+ mockAxios.onPut('https://example.com').reply(204);
52
+ const response = (await axiosClient.put('https://example.com', {
53
+ foo: 'bar',
54
+ }));
55
+ expect(response.type).toBe('success');
56
+ expect(response.statusCode).toBe(204);
57
+ expect(response.responseBody).toBeUndefined(); // No response body for PUT
58
+ });
59
+ // Scenario 4: PATCH request and receive a response
60
+ it('should make a PATCH request and receive a response', async () => {
61
+ // Mock the axios.patch method to return a response
62
+ mockAxios.onPatch('https://example.com').reply(200, 'PATCH response');
63
+ const response = (await axiosClient.patch('https://example.com', {
64
+ foo: 'bar',
65
+ }));
66
+ expect(response.type).toBe('success');
67
+ expect(response.statusCode).toBe(200);
68
+ expect(response.responseBody).toBe('PATCH response');
69
+ });
70
+ // Scenario 5: DELETE request and receive a response
71
+ it('should make a DELETE request and receive a response', async () => {
72
+ // Mock the axios.delete method to return a response
73
+ mockAxios.onDelete('https://example.com').reply(204);
74
+ const response = (await axiosClient.delete('https://example.com'));
75
+ expect(response.type).toBe('success');
76
+ expect(response.statusCode).toBe(204);
77
+ expect(response.responseBody).toBeUndefined(); // No response body for DELETE
78
+ });
79
+ // Scenario 6: GET request with a response parser
80
+ it('should make a GET request with a response parser', async () => {
81
+ // Mock the GET request using axios-mock-adapter
82
+ mockAxios.onGet('https://example.com').reply(200, 'GET response');
83
+ const response = (await axiosClient.get('https://example.com', {}, (data) => {
84
+ return `Parsed ${data}`;
85
+ }));
86
+ expect(response.type).toBe('success');
87
+ expect(response.statusCode).toBe(200);
88
+ expect(response.responseBody).toBe('Parsed GET response');
89
+ });
90
+ // Scenario 7: POST request with a response parser
91
+ it('should make a POST request with a response parser', async () => {
92
+ // Mock the axios.post method to return a response
93
+ mockAxios.onPost('https://example.com').reply(201, 'POST response');
94
+ const response = (await axiosClient.post('https://example.com', {
95
+ foo: 'bar',
96
+ }, {}, (data) => {
97
+ return `Parsed ${data}`;
98
+ }));
99
+ expect(response.type).toBe('success');
100
+ expect(response.statusCode).toBe(201);
101
+ expect(response.responseBody).toBe('Parsed POST response');
102
+ });
103
+ // Scenario 8: PUT request with a response parser
104
+ it('should make a PUT request with a response parser', async () => {
105
+ // Mock the axios.put method to return a response
106
+ mockAxios.onPut('https://example.com').reply(204);
107
+ const response = (await axiosClient.put('https://example.com', {
108
+ foo: 'bar',
109
+ }, {}, (data) => {
110
+ return `Parsed ${data}`;
111
+ }));
112
+ expect(response.type).toBe('success');
113
+ expect(response.statusCode).toBe(204);
114
+ expect(response.responseBody).toBe('Parsed undefined'); // No response body for PUT
115
+ });
116
+ // Scenario 9: PATCH request with a response parser
117
+ it('should make a PATCH request with a response parser', async () => {
118
+ // Mock the axios.patch method to return a response
119
+ mockAxios.onPatch('https://example.com').reply(200, 'PATCH response');
120
+ const response = (await axiosClient.patch('https://example.com', {
121
+ foo: 'bar',
122
+ }, {}, (data) => {
123
+ return `Parsed ${data}`;
124
+ }));
125
+ expect(response.type).toBe('success');
126
+ expect(response.statusCode).toBe(200);
127
+ expect(response.responseBody).toBe('Parsed PATCH response');
128
+ });
129
+ // Scenario 10: DELETE request with a response parser
130
+ it('should make a DELETE request with a response parser', async () => {
131
+ // Mock the axios.delete method to return a response
132
+ mockAxios.onDelete('https://example.com').reply(204);
133
+ const response = (await axiosClient.delete('https://example.com', {}, (data) => {
134
+ return `Parsed ${data}`;
135
+ }));
136
+ expect(response.type).toBe('success');
137
+ expect(response.statusCode).toBe(204);
138
+ expect(response.responseBody).toBe('Parsed undefined'); // No response body for DELETE
139
+ });
140
+ // Scenario 11: GET request with headers
141
+ it('should make a GET request with headers', async () => {
142
+ // Mock the GET request using axios-mock-adapter
143
+ mockAxios.onGet('https://example.com').reply((config) => {
144
+ expect(config.headers['foo']).toEqual('bar');
145
+ return [
146
+ 200,
147
+ 'GET response',
148
+ {
149
+ Authorization: `Bearer Token`,
150
+ 'Content-type': 'application/x-www-form-urlencoded',
151
+ },
152
+ ];
153
+ });
154
+ const response = (await axiosClient.get('https://example.com', {
155
+ headers: { foo: 'bar' },
156
+ }));
157
+ expect(response.type).toBe('success');
158
+ expect(response.statusCode).toBe(200);
159
+ expect(response.responseBody).toBe('GET response');
160
+ });
161
+ // other happy flow tests
162
+ // Scenario 12:
163
+ });
164
+ describe('error flow tests', () => {
165
+ // Scenario 1: GET request and receive a network error
166
+ it('should make a GET request and receive a network error', async () => {
167
+ // Mock the GET request using axios-mock-adapter
168
+ mockAxios.onGet('https://example.com').abortRequest();
169
+ const response = (await axiosClient.get('https://example.com'));
170
+ expect(response.type).toBe('client-error');
171
+ expect(response.statusCode).toBe(500);
172
+ expect(response.message).toBe('Unknown Error:Request aborted');
173
+ });
174
+ // should handle timeout errors
175
+ it('should make a GET request and receive a timeout error', async () => {
176
+ // Mock the GET request using axios-mock-adapter
177
+ mockAxios.onGet('https://example.com').timeout();
178
+ const response = (await axiosClient.get('https://example.com'));
179
+ expect(response.type).toBe('client-error');
180
+ expect(response.statusCode).toBe(500);
181
+ expect(response.message).toBe('Unknown Error:timeout of 0ms exceeded');
182
+ });
183
+ it('should make a GET request and receive a network error', async () => {
184
+ // Mock the GET request using axios-mock-adapter
185
+ mockAxios.onGet('https://example.com').networkError();
186
+ const response = (await axiosClient.get('https://example.com'));
187
+ expect(response.type).toBe('client-error');
188
+ expect(response.statusCode).toBe(500);
189
+ expect(response.message).toBe('Network Error');
190
+ });
191
+ // should handle application errors (4xx)
192
+ it('should make a GET request and receive a 400 error', async () => {
193
+ // Mock the GET request using axios-mock-adapter
194
+ mockAxios.onGet('https://example.com').reply(400, 'Bad Request Received');
195
+ const response = (await axiosClient.get('https://example.com'));
196
+ expect(response.type).toBe('application-error');
197
+ expect(response.statusCode).toBe(400);
198
+ expect(response.responseBody).toBe('Bad Request Received');
199
+ });
200
+ // should handle application errors (5xx)
201
+ it('should make a GET request and receive a 500 error', async () => {
202
+ // Mock the GET request using axios-mock-adapter
203
+ mockAxios.onGet('https://example.com').reply(500, 'Internal Server Error');
204
+ const response = (await axiosClient.get('https://example.com'));
205
+ expect(response.type).toBe('application-error');
206
+ expect(response.statusCode).toBe(500);
207
+ expect(response.responseBody).toBe('Internal Server Error');
208
+ });
209
+ // should handle unexpected errors
210
+ it('should make a GET request and receive an unexpected error', async () => {
211
+ // Mock the GET request using axios-mock-adapter
212
+ mockAxios.onGet('https://example.com').reply(200, 'GET response');
213
+ const response = (await axiosClient.get('https://example.com', {}, (data) => {
214
+ throw new Error('Unexpected Error');
215
+ }));
216
+ expect(response.type).toBe('client-error');
217
+ expect(response.statusCode).toBe(500);
218
+ expect(response.message).toBe('Failed to parse response data: Unexpected Error');
219
+ });
220
+ // should handle empty response body
221
+ it('should make a GET request and receive an empty response body', async () => {
222
+ // Mock the GET request using axios-mock-adapter
223
+ mockAxios.onGet('https://example.com').reply(200);
224
+ const response = (await axiosClient.get('https://example.com'));
225
+ expect(response.type).toBe('success');
226
+ expect(response.statusCode).toBe(200);
227
+ expect(response.responseBody).toBeUndefined();
228
+ });
229
+ });
230
+ });
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3NfY2xpZW50LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9jbGllbnRzL2F4aW9zX2NsaWVudC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDRFQUE2QztBQUM3QyxpREFBNkMsQ0FBQywrQkFBK0I7QUFPN0UseUJBQXlCO0FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUN0QixPQUFPO1FBQ0wsR0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBWTtRQUMxQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQy9ELENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILGFBQWE7QUFDYixRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtJQUMzQixJQUFJLFdBQXdCLENBQUM7SUFDN0IsSUFBSSxTQUFTLENBQUM7SUFFZCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsU0FBUyxHQUFHLElBQUksNEJBQVcsQ0FBQyxlQUFLLENBQUMsQ0FBQyxDQUFDLGlDQUFpQztRQUNyRSxXQUFXLEdBQUcsSUFBSSwwQkFBVyxFQUFFLENBQUMsQ0FBQyxrREFBa0Q7SUFDckYsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUNoQyxpREFBaUQ7UUFDakQsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hFLGdEQUFnRDtZQUNoRCxTQUFTLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsS0FBSyxD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QUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDM0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztRQUVILG9DQUFvQztRQUNwQyxFQUFFLENBQUMsOERBQThELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUUsZ0RBQWdEO1lBQ2hELFNBQVMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFbEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLFdBQVcsQ0FBQyxHQUFHLENBQ3JDLHFCQUFxQixDQUN0QixDQUFrQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBNb2NrQWRhcHRlciBmcm9tICdheGlvcy1tb2NrLWFkYXB0ZXInO1xuaW1wb3J0IHsgQXhpb3NDbGllbnQgfSBmcm9tICcuL2F4aW9zX2NsaWVudCc7IC8vIEltcG9ydCB0aGUgQXhpb3NDbGllbnQgY2xhc3NcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uRXJyb3JBcGlSZXNwb25zZSxcbiAgQ2xpZW50RXJyb3JBcGlSZXNwb25zZSxcbiAgU3VjY2Vzc2Z1bEFwaVJlc3BvbnNlLFxufSBmcm9tICcuL3R5cGVzJztcblxuLy8gTW9jayBBeGlvcyBmb3IgdGVzdGluZ1xuamVzdC5tb2NrKCdheGlvcycsICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi4oamVzdC5yZXF1aXJlQWN0dWFsKCdheGlvcycpIGFzIG9iamVjdCksXG4gICAgY3JlYXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKGplc3QucmVxdWlyZUFjdHVhbCgnYXhpb3MnKSksXG4gIH07XG59KTtcblxuLy8gVGVzdCBjYXNlc1xuZGVzY3JpYmUoJ0F4aW9zQ2xpZW50JywgKCkgPT4ge1xuICBsZXQgYXhpb3NDbGllbnQ6IEF4aW9zQ2xpZW50O1xuICBsZXQgbW9ja0F4aW9zO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG1vY2tBeGlvcyA9IG5ldyBNb2NrQWRhcHRlcihheGlvcyk7IC8vIENyZWF0ZSBhIE1vY2tBZGFwdGVyIGZvciBBeGlvc1xuICAgIGF4aW9zQ2xpZW50ID0gbmV3IEF4aW9zQ2xpZW50KCk7IC8vIENyZWF0ZSBhIG5ldyBBeGlvc0NsaWVudCBpbnN0YW5jZSBmb3IgZWFjaCB0ZXN0XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgbW9ja0F4aW9zLnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2hhcHB5IGZsb3cgdGVzdHMnLCAoKSA9PiB7XG4gICAgLy8gU2NlbmFyaW8gMTogR0VUIHJlcXVlc3QgYW5kIHJlY2VpdmUgYSByZXNwb25zZVxuICAgIGl0KCdzaG91bGQgbWFrZSBhIEdFVCByZXF1ZXN0IGFuZCByZWNlaXZlIGEgcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMCwgJ0dFVCByZXNwb25zZScpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYXhpb3NDbGllbnQuZ2V0KFxuICAgICAgICAnaHR0cHM6Ly9leGFtcGxlLmNvbScsXG4gICAgICApKSBhcyBTdWNjZXNzZnVsQXBpUmVzcG9uc2U8c3RyaW5nPjtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdzdWNjZXNzJyk7XG4gICAgICBleHBlY3QocmVzcG9uc2Uuc3RhdHVzQ29kZSkudG9CZSgyMDApO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnJlc3BvbnNlQm9keSkudG9CZSgnR0VUIHJlc3BvbnNlJyk7XG4gICAgfSk7XG5cbiAgICAvLyBTY2VuYXJpbyAyOiBQT1NUIHJlcXVlc3QgYW5kIHJlY2VpdmUgYSByZXNwb25zZVxuICAgIGl0KCdzaG91bGQgbWFrZSBhIFBPU1QgcmVxdWVzdCBhbmQgcmVjZWl2ZSBhIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gTW9jayB0aGUgYXhpb3MucG9zdCBtZXRob2QgdG8gcmV0dXJuIGEgcmVzcG9uc2VcbiAgICAgIG1vY2tBeGlvcy5vblBvc3QoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKS5yZXBseSgyMDEsICdQT1NUIHJlc3BvbnNlJyk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LnBvc3QoJ2h0dHBzOi8vZXhhbXBsZS5jb20nLCB7XG4gICAgICAgIGZvbzogJ2JhcicsXG4gICAgICB9KSkgYXMgU3VjY2Vzc2Z1bEFwaVJlc3BvbnNlPHN0cmluZz47XG4gICAgICBleHBlY3QocmVzcG9uc2UudHlwZSkudG9CZSgnc3VjY2VzcycpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnN0YXR1c0NvZGUpLnRvQmUoMjAxKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5yZXNwb25zZUJvZHkpLnRvQmUoJ1BPU1QgcmVzcG9uc2UnKTtcbiAgICB9KTtcblxuICAgIC8vIFNjZW5hcmlvIDM6IFBVVCByZXF1ZXN0IGFuZCByZWNlaXZlIGEgcmVzcG9uc2VcbiAgICBpdCgnc2hvdWxkIG1ha2UgYSBQVVQgcmVxdWVzdCBhbmQgcmVjZWl2ZSBhIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gTW9jayB0aGUgYXhpb3MucHV0IG1ldGhvZCB0byByZXR1cm4gYSByZXNwb25zZVxuICAgICAgbW9ja0F4aW9zLm9uUHV0KCdodHRwczovL2V4YW1wbGUuY29tJykucmVwbHkoMjA0KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYXhpb3NDbGllbnQucHV0KCdodHRwczovL2V4YW1wbGUuY29tJywge1xuICAgICAgICBmb286ICdiYXInLFxuICAgICAgfSkpIGFzIFN1Y2Nlc3NmdWxBcGlSZXNwb25zZTxzdHJpbmc+O1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ3N1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDIwNCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UucmVzcG9uc2VCb2R5KS50b0JlVW5kZWZpbmVkKCk7IC8vIE5vIHJlc3BvbnNlIGJvZHkgZm9yIFBVVFxuICAgIH0pO1xuXG4gICAgLy8gU2NlbmFyaW8gNDogUEFUQ0ggcmVxdWVzdCBhbmQgcmVjZWl2ZSBhIHJlc3BvbnNlXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgUEFUQ0ggcmVxdWVzdCBhbmQgcmVjZWl2ZSBhIHJlc3BvbnNlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gTW9jayB0aGUgYXhpb3MucGF0Y2ggbWV0aG9kIHRvIHJldHVybiBhIHJlc3BvbnNlXG4gICAgICBtb2NrQXhpb3Mub25QYXRjaCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMCwgJ1BBVENIIHJlc3BvbnNlJyk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LnBhdGNoKCdodHRwczovL2V4YW1wbGUuY29tJywge1xuICAgICAgICBmb286ICdiYXInLFxuICAgICAgfSkpIGFzIFN1Y2Nlc3NmdWxBcGlSZXNwb25zZTxzdHJpbmc+O1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ3N1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDIwMCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UucmVzcG9uc2VCb2R5KS50b0JlKCdQQVRDSCByZXNwb25zZScpO1xuICAgIH0pO1xuXG4gICAgLy8gU2NlbmFyaW8gNTogREVMRVRFIHJlcXVlc3QgYW5kIHJlY2VpdmUgYSByZXNwb25zZVxuICAgIGl0KCdzaG91bGQgbWFrZSBhIERFTEVURSByZXF1ZXN0IGFuZCByZWNlaXZlIGEgcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBheGlvcy5kZWxldGUgbWV0aG9kIHRvIHJldHVybiBhIHJlc3BvbnNlXG4gICAgICBtb2NrQXhpb3Mub25EZWxldGUoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKS5yZXBseSgyMDQpO1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCBheGlvc0NsaWVudC5kZWxldGUoXG4gICAgICAgICdodHRwczovL2V4YW1wbGUuY29tJyxcbiAgICAgICkpIGFzIFN1Y2Nlc3NmdWxBcGlSZXNwb25zZTxzdHJpbmc+O1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ3N1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDIwNCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UucmVzcG9uc2VCb2R5KS50b0JlVW5kZWZpbmVkKCk7IC8vIE5vIHJlc3BvbnNlIGJvZHkgZm9yIERFTEVURVxuICAgIH0pO1xuXG4gICAgLy8gU2NlbmFyaW8gNjogR0VUIHJlcXVlc3Qgd2l0aCBhIHJlc3BvbnNlIHBhcnNlclxuICAgIGl0KCdzaG91bGQgbWFrZSBhIEdFVCByZXF1ZXN0IHdpdGggYSByZXNwb25zZSBwYXJzZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMCwgJ0dFVCByZXNwb25zZScpO1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCBheGlvc0NsaWVudC5nZXQoJ2h0dHBzOi8vZXhhbXBsZS5jb20nLCB7fSwgKGRhdGEpID0+IHtcbiAgICAgICAgcmV0dXJuIGBQYXJzZWQgJHtkYXRhfWA7XG4gICAgICB9KSkgYXMgU3VjY2Vzc2Z1bEFwaVJlc3BvbnNlPHN0cmluZz47XG4gICAgICBleHBlY3QocmVzcG9uc2UudHlwZSkudG9CZSgnc3VjY2VzcycpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnN0YXR1c0NvZGUpLnRvQmUoMjAwKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5yZXNwb25zZUJvZHkpLnRvQmUoJ1BhcnNlZCBHRVQgcmVzcG9uc2UnKTtcbiAgICB9KTtcblxuICAgIC8vIFNjZW5hcmlvIDc6IFBPU1QgcmVxdWVzdCB3aXRoIGEgcmVzcG9uc2UgcGFyc2VyXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgUE9TVCByZXF1ZXN0IHdpdGggYSByZXNwb25zZSBwYXJzZXInLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBheGlvcy5wb3N0IG1ldGhvZCB0byByZXR1cm4gYSByZXNwb25zZVxuICAgICAgbW9ja0F4aW9zLm9uUG9zdCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMSwgJ1BPU1QgcmVzcG9uc2UnKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYXhpb3NDbGllbnQucG9zdChcbiAgICAgICAgJ2h0dHBzOi8vZXhhbXBsZS5jb20nLFxuICAgICAgICB7XG4gICAgICAgICAgZm9vOiAnYmFyJyxcbiAgICAgICAgfSxcbiAgICAgICAge30sXG4gICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGBQYXJzZWQgJHtkYXRhfWA7XG4gICAgICAgIH0sXG4gICAgICApKSBhcyBTdWNjZXNzZnVsQXBpUmVzcG9uc2U8c3RyaW5nPjtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdzdWNjZXNzJyk7XG4gICAgICBleHBlY3QocmVzcG9uc2Uuc3RhdHVzQ29kZSkudG9CZSgyMDEpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnJlc3BvbnNlQm9keSkudG9CZSgnUGFyc2VkIFBPU1QgcmVzcG9uc2UnKTtcbiAgICB9KTtcblxuICAgIC8vIFNjZW5hcmlvIDg6IFBVVCByZXF1ZXN0IHdpdGggYSByZXNwb25zZSBwYXJzZXJcbiAgICBpdCgnc2hvdWxkIG1ha2UgYSBQVVQgcmVxdWVzdCB3aXRoIGEgcmVzcG9uc2UgcGFyc2VyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gTW9jayB0aGUgYXhpb3MucHV0IG1ldGhvZCB0byByZXR1cm4gYSByZXNwb25zZVxuICAgICAgbW9ja0F4aW9zLm9uUHV0KCdodHRwczovL2V4YW1wbGUuY29tJykucmVwbHkoMjA0KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYXhpb3NDbGllbnQucHV0KFxuICAgICAgICAnaHR0cHM6Ly9leGFtcGxlLmNvbScsXG4gICAgICAgIHtcbiAgICAgICAgICBmb286ICdiYXInLFxuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gYFBhcnNlZCAke2RhdGF9YDtcbiAgICAgICAgfSxcbiAgICAgICkpIGFzIFN1Y2Nlc3NmdWxBcGlSZXNwb25zZTxzdHJpbmc+O1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ3N1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDIwNCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UucmVzcG9uc2VCb2R5KS50b0JlKCdQYXJzZWQgdW5kZWZpbmVkJyk7IC8vIE5vIHJlc3BvbnNlIGJvZHkgZm9yIFBVVFxuICAgIH0pO1xuXG4gICAgLy8gU2NlbmFyaW8gOTogUEFUQ0ggcmVxdWVzdCB3aXRoIGEgcmVzcG9uc2UgcGFyc2VyXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgUEFUQ0ggcmVxdWVzdCB3aXRoIGEgcmVzcG9uc2UgcGFyc2VyJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gTW9jayB0aGUgYXhpb3MucGF0Y2ggbWV0aG9kIHRvIHJldHVybiBhIHJlc3BvbnNlXG4gICAgICBtb2NrQXhpb3Mub25QYXRjaCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMCwgJ1BBVENIIHJlc3BvbnNlJyk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LnBhdGNoKFxuICAgICAgICAnaHR0cHM6Ly9leGFtcGxlLmNvbScsXG4gICAgICAgIHtcbiAgICAgICAgICBmb286ICdiYXInLFxuICAgICAgICB9LFxuICAgICAgICB7fSxcbiAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gYFBhcnNlZCAke2RhdGF9YDtcbiAgICAgICAgfSxcbiAgICAgICkpIGFzIFN1Y2Nlc3NmdWxBcGlSZXNwb25zZTxzdHJpbmc+O1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ3N1Y2Nlc3MnKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDIwMCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UucmVzcG9uc2VCb2R5KS50b0JlKCdQYXJzZWQgUEFUQ0ggcmVzcG9uc2UnKTtcbiAgICB9KTtcblxuICAgIC8vIFNjZW5hcmlvIDEwOiBERUxFVEUgcmVxdWVzdCB3aXRoIGEgcmVzcG9uc2UgcGFyc2VyXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgREVMRVRFIHJlcXVlc3Qgd2l0aCBhIHJlc3BvbnNlIHBhcnNlcicsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIE1vY2sgdGhlIGF4aW9zLmRlbGV0ZSBtZXRob2QgdG8gcmV0dXJuIGEgcmVzcG9uc2VcbiAgICAgIG1vY2tBeGlvcy5vbkRlbGV0ZSgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwNCk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LmRlbGV0ZSgnaHR0cHM6Ly9leGFtcGxlLmNvbScsIHt9LCAoZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gYFBhcnNlZCAke2RhdGF9YDtcbiAgICAgIH0pKSBhcyBTdWNjZXNzZnVsQXBpUmVzcG9uc2U8c3RyaW5nPjtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdzdWNjZXNzJyk7XG4gICAgICBleHBlY3QocmVzcG9uc2Uuc3RhdHVzQ29kZSkudG9CZSgyMDQpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnJlc3BvbnNlQm9keSkudG9CZSgnUGFyc2VkIHVuZGVmaW5lZCcpOyAvLyBObyByZXNwb25zZSBib2R5IGZvciBERUxFVEVcbiAgICB9KTtcblxuICAgIC8vIFNjZW5hcmlvIDExOiBHRVQgcmVxdWVzdCB3aXRoIGhlYWRlcnNcbiAgICBpdCgnc2hvdWxkIG1ha2UgYSBHRVQgcmVxdWVzdCB3aXRoIGhlYWRlcnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KChjb25maWcpID0+IHtcbiAgICAgICAgZXhwZWN0KGNvbmZpZy5oZWFkZXJzWydmb28nXSkudG9FcXVhbCgnYmFyJyk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgMjAwLFxuICAgICAgICAgICdHRVQgcmVzcG9uc2UnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgVG9rZW5gLFxuICAgICAgICAgICAgJ0NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYXhpb3NDbGllbnQuZ2V0KCdodHRwczovL2V4YW1wbGUuY29tJywge1xuICAgICAgICBoZWFkZXJzOiB7IGZvbzogJ2JhcicgfSxcbiAgICAgIH0pKSBhcyBTdWNjZXNzZnVsQXBpUmVzcG9uc2U8c3RyaW5nPjtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdzdWNjZXNzJyk7XG4gICAgICBleHBlY3QocmVzcG9uc2Uuc3RhdHVzQ29kZSkudG9CZSgyMDApO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnJlc3BvbnNlQm9keSkudG9CZSgnR0VUIHJlc3BvbnNlJyk7XG4gICAgfSk7XG5cbiAgICAvLyBvdGhlciBoYXBweSBmbG93IHRlc3RzXG4gICAgLy8gU2NlbmFyaW8gMTI6XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdlcnJvciBmbG93IHRlc3RzJywgKCkgPT4ge1xuICAgIC8vIFNjZW5hcmlvIDE6IEdFVCByZXF1ZXN0IGFuZCByZWNlaXZlIGEgbmV0d29yayBlcnJvclxuICAgIGl0KCdzaG91bGQgbWFrZSBhIEdFVCByZXF1ZXN0IGFuZCByZWNlaXZlIGEgbmV0d29yayBlcnJvcicsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIE1vY2sgdGhlIEdFVCByZXF1ZXN0IHVzaW5nIGF4aW9zLW1vY2stYWRhcHRlclxuICAgICAgbW9ja0F4aW9zLm9uR2V0KCdodHRwczovL2V4YW1wbGUuY29tJykuYWJvcnRSZXF1ZXN0KCk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LmdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpKSBhcyBDbGllbnRFcnJvckFwaVJlc3BvbnNlO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ2NsaWVudC1lcnJvcicpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnN0YXR1c0NvZGUpLnRvQmUoNTAwKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5tZXNzYWdlKS50b0JlKCdVbmtub3duIEVycm9yOlJlcXVlc3QgYWJvcnRlZCcpO1xuICAgIH0pO1xuXG4gICAgLy8gc2hvdWxkIGhhbmRsZSB0aW1lb3V0IGVycm9yc1xuICAgIGl0KCdzaG91bGQgbWFrZSBhIEdFVCByZXF1ZXN0IGFuZCByZWNlaXZlIGEgdGltZW91dCBlcnJvcicsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIE1vY2sgdGhlIEdFVCByZXF1ZXN0IHVzaW5nIGF4aW9zLW1vY2stYWRhcHRlclxuICAgICAgbW9ja0F4aW9zLm9uR2V0KCdodHRwczovL2V4YW1wbGUuY29tJykudGltZW91dCgpO1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCBheGlvc0NsaWVudC5nZXQoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKSkgYXMgQ2xpZW50RXJyb3JBcGlSZXNwb25zZTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdjbGllbnQtZXJyb3InKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDUwMCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UubWVzc2FnZSkudG9CZSgnVW5rbm93biBFcnJvcjp0aW1lb3V0IG9mIDBtcyBleGNlZWRlZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgR0VUIHJlcXVlc3QgYW5kIHJlY2VpdmUgYSBuZXR3b3JrIGVycm9yJywgYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gTW9jayB0aGUgR0VUIHJlcXVlc3QgdXNpbmcgYXhpb3MtbW9jay1hZGFwdGVyXG4gICAgICBtb2NrQXhpb3Mub25HZXQoJ2h0dHBzOi8vZXhhbXBsZS5jb20nKS5uZXR3b3JrRXJyb3IoKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgYXhpb3NDbGllbnQuZ2V0KCdodHRwczovL2V4YW1wbGUuY29tJykpIGFzIENsaWVudEVycm9yQXBpUmVzcG9uc2U7XG4gICAgICBleHBlY3QocmVzcG9uc2UudHlwZSkudG9CZSgnY2xpZW50LWVycm9yJyk7XG4gICAgICBleHBlY3QocmVzcG9uc2Uuc3RhdHVzQ29kZSkudG9CZSg1MDApO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLm1lc3NhZ2UpLnRvQmUoJ05ldHdvcmsgRXJyb3InKTtcbiAgICB9KTtcblxuICAgIC8vIHNob3VsZCBoYW5kbGUgYXBwbGljYXRpb24gZXJyb3JzICg0eHgpXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgR0VUIHJlcXVlc3QgYW5kIHJlY2VpdmUgYSA0MDAgZXJyb3InLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDQwMCwgJ0JhZCBSZXF1ZXN0IFJlY2VpdmVkJyk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LmdldChcbiAgICAgICAgJ2h0dHBzOi8vZXhhbXBsZS5jb20nLFxuICAgICAgKSkgYXMgQXBwbGljYXRpb25FcnJvckFwaVJlc3BvbnNlO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnR5cGUpLnRvQmUoJ2FwcGxpY2F0aW9uLWVycm9yJyk7XG4gICAgICBleHBlY3QocmVzcG9uc2Uuc3RhdHVzQ29kZSkudG9CZSg0MDApO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnJlc3BvbnNlQm9keSkudG9CZSgnQmFkIFJlcXVlc3QgUmVjZWl2ZWQnKTtcbiAgICB9KTtcblxuICAgIC8vIHNob3VsZCBoYW5kbGUgYXBwbGljYXRpb24gZXJyb3JzICg1eHgpXG4gICAgaXQoJ3Nob3VsZCBtYWtlIGEgR0VUIHJlcXVlc3QgYW5kIHJlY2VpdmUgYSA1MDAgZXJyb3InLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDUwMCwgJ0ludGVybmFsIFNlcnZlciBFcnJvcicpO1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCBheGlvc0NsaWVudC5nZXQoXG4gICAgICAgICdodHRwczovL2V4YW1wbGUuY29tJyxcbiAgICAgICkpIGFzIEFwcGxpY2F0aW9uRXJyb3JBcGlSZXNwb25zZTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdhcHBsaWNhdGlvbi1lcnJvcicpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnN0YXR1c0NvZGUpLnRvQmUoNTAwKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5yZXNwb25zZUJvZHkpLnRvQmUoJ0ludGVybmFsIFNlcnZlciBFcnJvcicpO1xuICAgIH0pO1xuXG4gICAgLy8gc2hvdWxkIGhhbmRsZSB1bmV4cGVjdGVkIGVycm9yc1xuICAgIGl0KCdzaG91bGQgbWFrZSBhIEdFVCByZXF1ZXN0IGFuZCByZWNlaXZlIGFuIHVuZXhwZWN0ZWQgZXJyb3InLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMCwgJ0dFVCByZXNwb25zZScpO1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCBheGlvc0NsaWVudC5nZXQoJ2h0dHBzOi8vZXhhbXBsZS5jb20nLCB7fSwgKGRhdGEpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIEVycm9yJyk7XG4gICAgICB9KSkgYXMgQ2xpZW50RXJyb3JBcGlSZXNwb25zZTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS50eXBlKS50b0JlKCdjbGllbnQtZXJyb3InKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0JlKDUwMCk7XG4gICAgICBleHBlY3QocmVzcG9uc2UubWVzc2FnZSkudG9CZSgnRmFpbGVkIHRvIHBhcnNlIHJlc3BvbnNlIGRhdGE6IFVuZXhwZWN0ZWQgRXJyb3InKTtcbiAgICB9KTtcblxuICAgIC8vIHNob3VsZCBoYW5kbGUgZW1wdHkgcmVzcG9uc2UgYm9keVxuICAgIGl0KCdzaG91bGQgbWFrZSBhIEdFVCByZXF1ZXN0IGFuZCByZWNlaXZlIGFuIGVtcHR5IHJlc3BvbnNlIGJvZHknLCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyBNb2NrIHRoZSBHRVQgcmVxdWVzdCB1c2luZyBheGlvcy1tb2NrLWFkYXB0ZXJcbiAgICAgIG1vY2tBeGlvcy5vbkdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbScpLnJlcGx5KDIwMCk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGF4aW9zQ2xpZW50LmdldChcbiAgICAgICAgJ2h0dHBzOi8vZXhhbXBsZS5jb20nLFxuICAgICAgKSkgYXMgU3VjY2Vzc2Z1bEFwaVJlc3BvbnNlPHN0cmluZz47XG4gICAgICBleHBlY3QocmVzcG9uc2UudHlwZSkudG9CZSgnc3VjY2VzcycpO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLnN0YXR1c0NvZGUpLnRvQmUoMjAwKTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5yZXNwb25zZUJvZHkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpClientFactory = exports.ClientNames = void 0;
4
4
  const platform_error_1 = require("../errors/platform_error");
5
- const axios_1 = require("./clients/axios");
5
+ const axios_client_1 = require("./clients/axios_client");
6
6
  var ClientNames;
7
7
  (function (ClientNames) {
8
8
  ClientNames["Axios"] = "axios";
@@ -32,7 +32,7 @@ class HttpClientFactory {
32
32
  static getHttpClient(name, options) {
33
33
  switch (name) {
34
34
  case ClientNames.Axios:
35
- return new axios_1.AxiosClient(options);
35
+ return new axios_client_1.AxiosClient(options);
36
36
  // case ClientNames.Fetch:
37
37
  // return require('./clients/fetch').FetchClient;
38
38
  // case ClientNames.Xhr:
@@ -43,4 +43,4 @@ class HttpClientFactory {
43
43
  }
44
44
  }
45
45
  exports.HttpClientFactory = HttpClientFactory;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXR3b3JrL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQXlEO0FBRXpELDJDQUE4QztBQVU5QyxJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLG1CQUFtQjtJQUNuQixjQUFjO0FBQ2hCLENBQUMsRUFKVyxXQUFXLDJCQUFYLFdBQVcsUUFJdEI7QUFLRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFpQixFQUFFLE9BQXVCO1FBQzdELFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxXQUFXLENBQUMsS0FBSztnQkFDcEIsT0FBTyxJQUFJLG1CQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsMEJBQTBCO1lBQzFCLHFEQUFxRDtZQUNyRCx3QkFBd0I7WUFDeEIsaURBQWlEO1lBQ2pEO2dCQUNFLE1BQU0sSUFBSSw4QkFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0NBQ0Y7QUFiRCw4Q0FhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvcGxhdGZvcm1fZXJyb3InO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJy4vY2xpZW50cy90eXBlcyc7XG5pbXBvcnQgeyBBeGlvc0NsaWVudCB9IGZyb20gJy4vY2xpZW50cy9heGlvcyc7XG5pbXBvcnQgeyBBeGlvc1JlcXVlc3RDb25maWcgfSBmcm9tICdheGlvcyc7XG5leHBvcnQge1xuICBBcGlSZXNwb25zZSxcbiAgQXBwbGljYXRpb25FcnJvckFwaVJlc3BvbnNlLFxuICBDbGllbnRFcnJvckFwaVJlc3BvbnNlLFxuICBTdWNjZXNzZnVsQXBpUmVzcG9uc2UsXG4gIFJlc3BvbnNlUGFyc2VyLFxufSBmcm9tICcuL2NsaWVudHMvdHlwZXMnO1xuXG5leHBvcnQgZW51bSBDbGllbnROYW1lcyB7XG4gIEF4aW9zID0gJ2F4aW9zJyxcbiAgLy8gRmV0Y2ggPSAnZmV0Y2gnLFxuICAvLyBYaHIgPSAneGhyJ1xufVxuXG4vLyBBcyB3ZSBhZGQgbW9yZSBjbGllbnRzLCB3ZSB3aWxsIHVuaW9uIHRoZW0gaGVyZVxuZXhwb3J0IHR5cGUgY2xpZW50T3B0aW9ucyA9IEF4aW9zUmVxdWVzdENvbmZpZztcblxuLyoqXG4gKiBAY2xhc3MgSHR0cENsaWVudEZhY3RvcnlcbiAqIEBjbGFzc2Rlc2NcbiAqIEEgZmFjdG9yeSBjbGFzcyB0byBnZW5lcmF0ZSBodHRwIGNsaWVudHNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBodHRwQ2xpZW50ID0gSHR0cENsaWVudEZhY3RvcnkuZ2V0SHR0cENsaWVudCgnYXhpb3MnKTtcbiAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaHR0cENsaWVudC5wb3N0KFwiaHR0cHM6Ly9leGFtcGxlLmNvbVwiLCB7IGZvbzogXCJiYXJcIiB9KTtcbiAqIGlmIChyZXNwb25zZS50eXBlID09PSBcInN1Y2Nlc3NcIikge1xuICogY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gKiBjb25zb2xlLmxvZyhyZXNwb25zZS5yZXNwb25zZUJvZHkpO1xuICogfSBlbHNlIGlmIChyZXNwb25zZS50eXBlID09PSBcImFwcGxpY2F0aW9uLWVycm9yXCIpIHtcbiAqIGNvbnNvbGUubG9nKHJlc3BvbnNlLnN0YXR1c0NvZGUpO1xuICogY29uc29sZS5sb2cocmVzcG9uc2UubWVzc2FnZSk7XG4gKiBjb25zb2xlLmxvZyhyZXNwb25zZS5yZXNwb25zZUJvZHkpO1xuICogfSBlbHNlIGlmIChyZXNwb25zZS50eXBlID09PSBcImNsaWVudC1lcnJvclwiKSB7XG4gKiBjb25zb2xlLmxvZyhyZXNwb25zZS5zdGF0dXNDb2RlKTtcbiAqIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpO1xuICogfVxuICovXG5leHBvcnQgY2xhc3MgSHR0cENsaWVudEZhY3Rvcnkge1xuICBzdGF0aWMgZ2V0SHR0cENsaWVudChuYW1lOiBDbGllbnROYW1lcywgb3B0aW9ucz86IGNsaWVudE9wdGlvbnMpOiBIdHRwQ2xpZW50IHtcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ2xpZW50TmFtZXMuQXhpb3M6XG4gICAgICAgIHJldHVybiBuZXcgQXhpb3NDbGllbnQob3B0aW9ucyk7XG4gICAgICAvLyBjYXNlIENsaWVudE5hbWVzLkZldGNoOlxuICAgICAgLy8gICAgIHJldHVybiByZXF1aXJlKCcuL2NsaWVudHMvZmV0Y2gnKS5GZXRjaENsaWVudDtcbiAgICAgIC8vIGNhc2UgQ2xpZW50TmFtZXMuWGhyOlxuICAgICAgLy8gICAgIHJldHVybiByZXF1aXJlKCcuL2NsaWVudHMveGhyJykuWGhyQ2xpZW50O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFBsYXRmb3JtRXJyb3IoJ0ludmFsaWQgY2xpZW50IG5hbWUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXR3b3JrL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQXlEO0FBRXpELHlEQUFxRDtBQVVyRCxJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLG1CQUFtQjtJQUNuQixjQUFjO0FBQ2hCLENBQUMsRUFKVyxXQUFXLDJCQUFYLFdBQVcsUUFJdEI7QUFLRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFpQixFQUFFLE9BQXVCO1FBQzdELFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxXQUFXLENBQUMsS0FBSztnQkFDcEIsT0FBTyxJQUFJLDBCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsMEJBQTBCO1lBQzFCLHFEQUFxRDtZQUNyRCx3QkFBd0I7WUFDeEIsaURBQWlEO1lBQ2pEO2dCQUNFLE1BQU0sSUFBSSw4QkFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0NBQ0Y7QUFiRCw4Q0FhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvcGxhdGZvcm1fZXJyb3InO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJy4vY2xpZW50cy90eXBlcyc7XG5pbXBvcnQgeyBBeGlvc0NsaWVudCB9IGZyb20gJy4vY2xpZW50cy9heGlvc19jbGllbnQnO1xuaW1wb3J0IHsgQXhpb3NSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnYXhpb3MnO1xuZXhwb3J0IHtcbiAgQXBpUmVzcG9uc2UsXG4gIEFwcGxpY2F0aW9uRXJyb3JBcGlSZXNwb25zZSxcbiAgQ2xpZW50RXJyb3JBcGlSZXNwb25zZSxcbiAgU3VjY2Vzc2Z1bEFwaVJlc3BvbnNlLFxuICBSZXNwb25zZVBhcnNlcixcbn0gZnJvbSAnLi9jbGllbnRzL3R5cGVzJztcblxuZXhwb3J0IGVudW0gQ2xpZW50TmFtZXMge1xuICBBeGlvcyA9ICdheGlvcycsXG4gIC8vIEZldGNoID0gJ2ZldGNoJyxcbiAgLy8gWGhyID0gJ3hocidcbn1cblxuLy8gQXMgd2UgYWRkIG1vcmUgY2xpZW50cywgd2Ugd2lsbCB1bmlvbiB0aGVtIGhlcmVcbmV4cG9ydCB0eXBlIGNsaWVudE9wdGlvbnMgPSBBeGlvc1JlcXVlc3RDb25maWc7XG5cbi8qKlxuICogQGNsYXNzIEh0dHBDbGllbnRGYWN0b3J5XG4gKiBAY2xhc3NkZXNjXG4gKiBBIGZhY3RvcnkgY2xhc3MgdG8gZ2VuZXJhdGUgaHR0cCBjbGllbnRzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgaHR0cENsaWVudCA9IEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnQoJ2F4aW9zJyk7XG4gKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IGh0dHBDbGllbnQucG9zdChcImh0dHBzOi8vZXhhbXBsZS5jb21cIiwgeyBmb286IFwiYmFyXCIgfSk7XG4gKiBpZiAocmVzcG9uc2UudHlwZSA9PT0gXCJzdWNjZXNzXCIpIHtcbiAqIGNvbnNvbGUubG9nKHJlc3BvbnNlLnN0YXR1c0NvZGUpO1xuICogY29uc29sZS5sb2cocmVzcG9uc2UucmVzcG9uc2VCb2R5KTtcbiAqIH0gZWxzZSBpZiAocmVzcG9uc2UudHlwZSA9PT0gXCJhcHBsaWNhdGlvbi1lcnJvclwiKSB7XG4gKiBjb25zb2xlLmxvZyhyZXNwb25zZS5zdGF0dXNDb2RlKTtcbiAqIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpO1xuICogY29uc29sZS5sb2cocmVzcG9uc2UucmVzcG9uc2VCb2R5KTtcbiAqIH0gZWxzZSBpZiAocmVzcG9uc2UudHlwZSA9PT0gXCJjbGllbnQtZXJyb3JcIikge1xuICogY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gKiBjb25zb2xlLmxvZyhyZXNwb25zZS5tZXNzYWdlKTtcbiAqIH1cbiAqL1xuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnRGYWN0b3J5IHtcbiAgc3RhdGljIGdldEh0dHBDbGllbnQobmFtZTogQ2xpZW50TmFtZXMsIG9wdGlvbnM/OiBjbGllbnRPcHRpb25zKTogSHR0cENsaWVudCB7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlIENsaWVudE5hbWVzLkF4aW9zOlxuICAgICAgICByZXR1cm4gbmV3IEF4aW9zQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgLy8gY2FzZSBDbGllbnROYW1lcy5GZXRjaDpcbiAgICAgIC8vICAgICByZXR1cm4gcmVxdWlyZSgnLi9jbGllbnRzL2ZldGNoJykuRmV0Y2hDbGllbnQ7XG4gICAgICAvLyBjYXNlIENsaWVudE5hbWVzLlhocjpcbiAgICAgIC8vICAgICByZXR1cm4gcmVxdWlyZSgnLi9jbGllbnRzL3hocicpLlhockNsaWVudDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBQbGF0Zm9ybUVycm9yKCdJbnZhbGlkIGNsaWVudCBuYW1lJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -2,19 +2,19 @@
2
2
  // Generated by CodiumAI
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const errors_1 = require("../errors");
5
- const axios_1 = require("./clients/axios");
5
+ const axios_client_1 = require("./clients/axios_client");
6
6
  const factory_1 = require("./factory");
7
7
  describe('getHttpClient', () => {
8
8
  // Tests that getHttpClient returns an instance of AxiosClient when name is ClientNames.Axios and options are not provided
9
9
  it('should return an instance of AxiosClient when name is ClientNames.Axios and options are not provided', () => {
10
10
  const httpClient = factory_1.HttpClientFactory.getHttpClient(factory_1.ClientNames.Axios);
11
- expect(httpClient).toBeInstanceOf(axios_1.AxiosClient);
11
+ expect(httpClient).toBeInstanceOf(axios_client_1.AxiosClient);
12
12
  });
13
13
  // Tests that getHttpClient returns an instance of AxiosClient with provided options when name is ClientNames.Axios and options are provided
14
14
  it('should return an instance of AxiosClient with provided options when name is ClientNames.Axios and options are provided', () => {
15
15
  const options = { timeout: 5000 };
16
16
  const httpClient = factory_1.HttpClientFactory.getHttpClient(factory_1.ClientNames.Axios, options);
17
- expect(httpClient).toBeInstanceOf(axios_1.AxiosClient);
17
+ expect(httpClient).toBeInstanceOf(axios_client_1.AxiosClient);
18
18
  expect(httpClient['options'].timeout).toEqual(options.timeout);
19
19
  });
20
20
  // Tests that getHttpClient throws a PlatformError with message 'Invalid client name' when name is not a valid ClientNames enum value
@@ -47,4 +47,4 @@ describe('getHttpClient', () => {
47
47
  // expect(httpClient).toBe(XhrClient);
48
48
  // });
49
49
  });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25ldHdvcmsvZmFjdG9yeS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3QkFBd0I7O0FBRXhCLHNDQUEwQztBQUMxQywyQ0FBOEM7QUFDOUMsdUNBQTJEO0FBRTNELFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLDBIQUEwSDtJQUMxSCxFQUFFLENBQUMsc0dBQXNHLEVBQUUsR0FBRyxFQUFFO1FBQzlHLE1BQU0sVUFBVSxHQUFHLDJCQUFpQixDQUFDLGFBQWEsQ0FBQyxxQkFBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsbUJBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUgsNElBQTRJO0lBQzVJLEVBQUUsQ0FBQyx3SEFBd0gsRUFBRSxHQUFHLEVBQUU7UUFDaEksTUFBTSxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsMkJBQWlCLENBQUMsYUFBYSxDQUFDLHFCQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsbUJBQVcsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztJQUVILHFJQUFxSTtJQUNySSxFQUFFLENBQUMsaUhBQWlILEVBQUUsR0FBRyxFQUFFO1FBQ3pILE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsMkJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQTBCLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsc0JBQWEsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDViwyQkFBaUIsQ0FBQyxhQUFhLENBQUMsV0FBMEIsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsc0ZBQXNGO0lBQ3RGLDRGQUE0RjtJQUM1RixvRkFBb0Y7SUFDcEYsMENBQTBDO0lBQzFDLDhCQUE4QjtJQUM5QixTQUFTO0lBQ1Qsd0RBQXdEO0lBQ3hELDJFQUEyRTtJQUMzRSwwQ0FBMEM7SUFDMUMsTUFBTTtJQUVOLHlGQUF5RjtJQUN6RixpRkFBaUY7SUFDakYsd0NBQXdDO0lBQ3hDLDRCQUE0QjtJQUM1QixTQUFTO0lBQ1Qsb0RBQW9EO0lBQ3BELHlFQUF5RTtJQUN6RSx3Q0FBd0M7SUFDeEMsTUFBTTtBQUNSLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2VuZXJhdGVkIGJ5IENvZGl1bUFJXG5cbmltcG9ydCB7IFBsYXRmb3JtRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgQXhpb3NDbGllbnQgfSBmcm9tICcuL2NsaWVudHMvYXhpb3MnO1xuaW1wb3J0IHsgQ2xpZW50TmFtZXMsIEh0dHBDbGllbnRGYWN0b3J5IH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZGVzY3JpYmUoJ2dldEh0dHBDbGllbnQnLCAoKSA9PiB7XG4gIC8vIFRlc3RzIHRoYXQgZ2V0SHR0cENsaWVudCByZXR1cm5zIGFuIGluc3RhbmNlIG9mIEF4aW9zQ2xpZW50IHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5BeGlvcyBhbmQgb3B0aW9ucyBhcmUgbm90IHByb3ZpZGVkXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGluc3RhbmNlIG9mIEF4aW9zQ2xpZW50IHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5BeGlvcyBhbmQgb3B0aW9ucyBhcmUgbm90IHByb3ZpZGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBIdHRwQ2xpZW50RmFjdG9yeS5nZXRIdHRwQ2xpZW50KENsaWVudE5hbWVzLkF4aW9zKTtcbiAgICBleHBlY3QoaHR0cENsaWVudCkudG9CZUluc3RhbmNlT2YoQXhpb3NDbGllbnQpO1xuICB9KTtcblxuICAvLyBUZXN0cyB0aGF0IGdldEh0dHBDbGllbnQgcmV0dXJucyBhbiBpbnN0YW5jZSBvZiBBeGlvc0NsaWVudCB3aXRoIHByb3ZpZGVkIG9wdGlvbnMgd2hlbiBuYW1lIGlzIENsaWVudE5hbWVzLkF4aW9zIGFuZCBvcHRpb25zIGFyZSBwcm92aWRlZFxuICBpdCgnc2hvdWxkIHJldHVybiBhbiBpbnN0YW5jZSBvZiBBeGlvc0NsaWVudCB3aXRoIHByb3ZpZGVkIG9wdGlvbnMgd2hlbiBuYW1lIGlzIENsaWVudE5hbWVzLkF4aW9zIGFuZCBvcHRpb25zIGFyZSBwcm92aWRlZCcsICgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0geyB0aW1lb3V0OiA1MDAwIH07XG4gICAgY29uc3QgaHR0cENsaWVudCA9IEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnQoQ2xpZW50TmFtZXMuQXhpb3MsIG9wdGlvbnMpO1xuICAgIGV4cGVjdChodHRwQ2xpZW50KS50b0JlSW5zdGFuY2VPZihBeGlvc0NsaWVudCk7XG4gICAgZXhwZWN0KGh0dHBDbGllbnRbJ29wdGlvbnMnXS50aW1lb3V0KS50b0VxdWFsKG9wdGlvbnMudGltZW91dCk7XG4gIH0pO1xuXG4gIC8vIFRlc3RzIHRoYXQgZ2V0SHR0cENsaWVudCB0aHJvd3MgYSBQbGF0Zm9ybUVycm9yIHdpdGggbWVzc2FnZSAnSW52YWxpZCBjbGllbnQgbmFtZScgd2hlbiBuYW1lIGlzIG5vdCBhIHZhbGlkIENsaWVudE5hbWVzIGVudW0gdmFsdWVcbiAgaXQoJ3Nob3VsZCB0aHJvdyBhIFBsYXRmb3JtRXJyb3Igd2l0aCBtZXNzYWdlIFwiSW52YWxpZCBjbGllbnQgbmFtZVwiIHdoZW4gbmFtZSBpcyBub3QgYSB2YWxpZCBDbGllbnROYW1lcyBlbnVtIHZhbHVlJywgKCkgPT4ge1xuICAgIGNvbnN0IGludmFsaWROYW1lID0gJ0ludmFsaWRDbGllbnQnO1xuICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICBIdHRwQ2xpZW50RmFjdG9yeS5nZXRIdHRwQ2xpZW50KGludmFsaWROYW1lIGFzIENsaWVudE5hbWVzKTtcbiAgICB9KS50b1Rocm93RXJyb3IoUGxhdGZvcm1FcnJvcik7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnQoaW52YWxpZE5hbWUgYXMgQ2xpZW50TmFtZXMpO1xuICAgIH0pLnRvVGhyb3dFcnJvcignSW52YWxpZCBjbGllbnQgbmFtZScpO1xuICB9KTtcblxuICAvLyBVbmNvbW1lbnQgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcyB3ZSBpbXBsZW1lbnQgdGhlIEZldGNoQ2xpZW50IGFuZCBYaHJDbGllbnQgY2xhc3Nlc1xuICAvLyAvLyBUZXN0cyB0aGF0IGdldEh0dHBDbGllbnQgcmV0dXJucyBhIEZldGNoQ2xpZW50IGluc3RhbmNlIHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5GZXRjaFxuICAvLyBpdCgnc2hvdWxkIHJldHVybiBhIEZldGNoQ2xpZW50IGluc3RhbmNlIHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5GZXRjaCcsICgpID0+IHtcbiAgLy8gICBqZXN0Lm1vY2soJy4vY2xpZW50cy9mZXRjaCcsICgpID0+ICh7XG4gIC8vICAgICBGZXRjaENsaWVudDogamVzdC5mbigpLFxuICAvLyAgIH0pKTtcbiAgLy8gICBjb25zdCB7IEZldGNoQ2xpZW50IH0gPSByZXF1aXJlKCcuL2NsaWVudHMvZmV0Y2gnKTtcbiAgLy8gICBjb25zdCBodHRwQ2xpZW50ID0gSHR0cENsaWVudEZhY3RvcnkuZ2V0SHR0cENsaWVudChDbGllbnROYW1lcy5GZXRjaCk7XG4gIC8vICAgZXhwZWN0KGh0dHBDbGllbnQpLnRvQmUoRmV0Y2hDbGllbnQpO1xuICAvLyB9KTtcblxuICAvLyAvLyBUZXN0cyB0aGF0IGdldEh0dHBDbGllbnQgcmV0dXJucyBhbiBYaHJDbGllbnQgaW5zdGFuY2Ugd2hlbiBuYW1lIGlzIENsaWVudE5hbWVzLlhoclxuICAvLyBpdCgnc2hvdWxkIHJldHVybiBhbiBYaHJDbGllbnQgaW5zdGFuY2Ugd2hlbiBuYW1lIGlzIENsaWVudE5hbWVzLlhocicsICgpID0+IHtcbiAgLy8gICBqZXN0Lm1vY2soJy4vY2xpZW50cy94aHInLCAoKSA9PiAoe1xuICAvLyAgICAgWGhyQ2xpZW50OiBqZXN0LmZuKCksXG4gIC8vICAgfSkpO1xuICAvLyAgIGNvbnN0IHsgWGhyQ2xpZW50IH0gPSByZXF1aXJlKCcuL2NsaWVudHMveGhyJyk7XG4gIC8vICAgY29uc3QgaHR0cENsaWVudCA9IEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnQoQ2xpZW50TmFtZXMuWGhyKTtcbiAgLy8gICBleHBlY3QoaHR0cENsaWVudCkudG9CZShYaHJDbGllbnQpO1xuICAvLyB9KTtcbn0pO1xuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25ldHdvcmsvZmFjdG9yeS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3QkFBd0I7O0FBRXhCLHNDQUEwQztBQUMxQyx5REFBcUQ7QUFDckQsdUNBQTJEO0FBRTNELFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLDBIQUEwSDtJQUMxSCxFQUFFLENBQUMsc0dBQXNHLEVBQUUsR0FBRyxFQUFFO1FBQzlHLE1BQU0sVUFBVSxHQUFHLDJCQUFpQixDQUFDLGFBQWEsQ0FBQyxxQkFBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsMEJBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUgsNElBQTRJO0lBQzVJLEVBQUUsQ0FBQyx3SEFBd0gsRUFBRSxHQUFHLEVBQUU7UUFDaEksTUFBTSxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsMkJBQWlCLENBQUMsYUFBYSxDQUFDLHFCQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9FLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsMEJBQVcsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztJQUVILHFJQUFxSTtJQUNySSxFQUFFLENBQUMsaUhBQWlILEVBQUUsR0FBRyxFQUFFO1FBQ3pILE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsMkJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQTBCLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsc0JBQWEsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDViwyQkFBaUIsQ0FBQyxhQUFhLENBQUMsV0FBMEIsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsc0ZBQXNGO0lBQ3RGLDRGQUE0RjtJQUM1RixvRkFBb0Y7SUFDcEYsMENBQTBDO0lBQzFDLDhCQUE4QjtJQUM5QixTQUFTO0lBQ1Qsd0RBQXdEO0lBQ3hELDJFQUEyRTtJQUMzRSwwQ0FBMEM7SUFDMUMsTUFBTTtJQUVOLHlGQUF5RjtJQUN6RixpRkFBaUY7SUFDakYsd0NBQXdDO0lBQ3hDLDRCQUE0QjtJQUM1QixTQUFTO0lBQ1Qsb0RBQW9EO0lBQ3BELHlFQUF5RTtJQUN6RSx3Q0FBd0M7SUFDeEMsTUFBTTtBQUNSLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2VuZXJhdGVkIGJ5IENvZGl1bUFJXG5cbmltcG9ydCB7IFBsYXRmb3JtRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgQXhpb3NDbGllbnQgfSBmcm9tICcuL2NsaWVudHMvYXhpb3NfY2xpZW50JztcbmltcG9ydCB7IENsaWVudE5hbWVzLCBIdHRwQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbmRlc2NyaWJlKCdnZXRIdHRwQ2xpZW50JywgKCkgPT4ge1xuICAvLyBUZXN0cyB0aGF0IGdldEh0dHBDbGllbnQgcmV0dXJucyBhbiBpbnN0YW5jZSBvZiBBeGlvc0NsaWVudCB3aGVuIG5hbWUgaXMgQ2xpZW50TmFtZXMuQXhpb3MgYW5kIG9wdGlvbnMgYXJlIG5vdCBwcm92aWRlZFxuICBpdCgnc2hvdWxkIHJldHVybiBhbiBpbnN0YW5jZSBvZiBBeGlvc0NsaWVudCB3aGVuIG5hbWUgaXMgQ2xpZW50TmFtZXMuQXhpb3MgYW5kIG9wdGlvbnMgYXJlIG5vdCBwcm92aWRlZCcsICgpID0+IHtcbiAgICBjb25zdCBodHRwQ2xpZW50ID0gSHR0cENsaWVudEZhY3RvcnkuZ2V0SHR0cENsaWVudChDbGllbnROYW1lcy5BeGlvcyk7XG4gICAgZXhwZWN0KGh0dHBDbGllbnQpLnRvQmVJbnN0YW5jZU9mKEF4aW9zQ2xpZW50KTtcbiAgfSk7XG5cbiAgLy8gVGVzdHMgdGhhdCBnZXRIdHRwQ2xpZW50IHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgQXhpb3NDbGllbnQgd2l0aCBwcm92aWRlZCBvcHRpb25zIHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5BeGlvcyBhbmQgb3B0aW9ucyBhcmUgcHJvdmlkZWRcbiAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgQXhpb3NDbGllbnQgd2l0aCBwcm92aWRlZCBvcHRpb25zIHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5BeGlvcyBhbmQgb3B0aW9ucyBhcmUgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgdGltZW91dDogNTAwMCB9O1xuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBIdHRwQ2xpZW50RmFjdG9yeS5nZXRIdHRwQ2xpZW50KENsaWVudE5hbWVzLkF4aW9zLCBvcHRpb25zKTtcbiAgICBleHBlY3QoaHR0cENsaWVudCkudG9CZUluc3RhbmNlT2YoQXhpb3NDbGllbnQpO1xuICAgIGV4cGVjdChodHRwQ2xpZW50WydvcHRpb25zJ10udGltZW91dCkudG9FcXVhbChvcHRpb25zLnRpbWVvdXQpO1xuICB9KTtcblxuICAvLyBUZXN0cyB0aGF0IGdldEh0dHBDbGllbnQgdGhyb3dzIGEgUGxhdGZvcm1FcnJvciB3aXRoIG1lc3NhZ2UgJ0ludmFsaWQgY2xpZW50IG5hbWUnIHdoZW4gbmFtZSBpcyBub3QgYSB2YWxpZCBDbGllbnROYW1lcyBlbnVtIHZhbHVlXG4gIGl0KCdzaG91bGQgdGhyb3cgYSBQbGF0Zm9ybUVycm9yIHdpdGggbWVzc2FnZSBcIkludmFsaWQgY2xpZW50IG5hbWVcIiB3aGVuIG5hbWUgaXMgbm90IGEgdmFsaWQgQ2xpZW50TmFtZXMgZW51bSB2YWx1ZScsICgpID0+IHtcbiAgICBjb25zdCBpbnZhbGlkTmFtZSA9ICdJbnZhbGlkQ2xpZW50JztcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgSHR0cENsaWVudEZhY3RvcnkuZ2V0SHR0cENsaWVudChpbnZhbGlkTmFtZSBhcyBDbGllbnROYW1lcyk7XG4gICAgfSkudG9UaHJvd0Vycm9yKFBsYXRmb3JtRXJyb3IpO1xuICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICBIdHRwQ2xpZW50RmFjdG9yeS5nZXRIdHRwQ2xpZW50KGludmFsaWROYW1lIGFzIENsaWVudE5hbWVzKTtcbiAgICB9KS50b1Rocm93RXJyb3IoJ0ludmFsaWQgY2xpZW50IG5hbWUnKTtcbiAgfSk7XG5cbiAgLy8gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgdGVzdHMgYXMgd2UgaW1wbGVtZW50IHRoZSBGZXRjaENsaWVudCBhbmQgWGhyQ2xpZW50IGNsYXNzZXNcbiAgLy8gLy8gVGVzdHMgdGhhdCBnZXRIdHRwQ2xpZW50IHJldHVybnMgYSBGZXRjaENsaWVudCBpbnN0YW5jZSB3aGVuIG5hbWUgaXMgQ2xpZW50TmFtZXMuRmV0Y2hcbiAgLy8gaXQoJ3Nob3VsZCByZXR1cm4gYSBGZXRjaENsaWVudCBpbnN0YW5jZSB3aGVuIG5hbWUgaXMgQ2xpZW50TmFtZXMuRmV0Y2gnLCAoKSA9PiB7XG4gIC8vICAgamVzdC5tb2NrKCcuL2NsaWVudHMvZmV0Y2gnLCAoKSA9PiAoe1xuICAvLyAgICAgRmV0Y2hDbGllbnQ6IGplc3QuZm4oKSxcbiAgLy8gICB9KSk7XG4gIC8vICAgY29uc3QgeyBGZXRjaENsaWVudCB9ID0gcmVxdWlyZSgnLi9jbGllbnRzL2ZldGNoJyk7XG4gIC8vICAgY29uc3QgaHR0cENsaWVudCA9IEh0dHBDbGllbnRGYWN0b3J5LmdldEh0dHBDbGllbnQoQ2xpZW50TmFtZXMuRmV0Y2gpO1xuICAvLyAgIGV4cGVjdChodHRwQ2xpZW50KS50b0JlKEZldGNoQ2xpZW50KTtcbiAgLy8gfSk7XG5cbiAgLy8gLy8gVGVzdHMgdGhhdCBnZXRIdHRwQ2xpZW50IHJldHVybnMgYW4gWGhyQ2xpZW50IGluc3RhbmNlIHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5YaHJcbiAgLy8gaXQoJ3Nob3VsZCByZXR1cm4gYW4gWGhyQ2xpZW50IGluc3RhbmNlIHdoZW4gbmFtZSBpcyBDbGllbnROYW1lcy5YaHInLCAoKSA9PiB7XG4gIC8vICAgamVzdC5tb2NrKCcuL2NsaWVudHMveGhyJywgKCkgPT4gKHtcbiAgLy8gICAgIFhockNsaWVudDogamVzdC5mbigpLFxuICAvLyAgIH0pKTtcbiAgLy8gICBjb25zdCB7IFhockNsaWVudCB9ID0gcmVxdWlyZSgnLi9jbGllbnRzL3hocicpO1xuICAvLyAgIGNvbnN0IGh0dHBDbGllbnQgPSBIdHRwQ2xpZW50RmFjdG9yeS5nZXRIdHRwQ2xpZW50KENsaWVudE5hbWVzLlhocik7XG4gIC8vICAgZXhwZWN0KGh0dHBDbGllbnQpLnRvQmUoWGhyQ2xpZW50KTtcbiAgLy8gfSk7XG59KTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderstack/integrations-lib",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "module": "build/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../../../src/network/clients/axios.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,kBAAkB,EAA6B,MAAM,OAAO,CAAC;AAI7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGlE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAY,YAAW,UAAU;IAC5C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,OAAO,CAAC,EAAE,kBAAkB;YAoB1B,WAAW;IAoEZ,GAAG,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,kBAAkB,EAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAWb,IAAI,CAAC,CAAC,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,kBAAkB,EAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAYb,GAAG,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,kBAAkB,EAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAYb,KAAK,CAAC,CAAC,EAClB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,kBAAkB,EAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAYb,MAAM,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,kBAAkB,EAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAY3B"}
@@ -1,197 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.AxiosClient = void 0;
30
- const axios_1 = __importStar(require("axios"));
31
- const http_1 = __importDefault(require("http"));
32
- const https_1 = __importDefault(require("https"));
33
- const constants_1 = require("../../constants");
34
- const utils_1 = require("../../utils");
35
- /**
36
- * A wrapper around axios to make http requests
37
- *
38
- * @class AxiosClient
39
- * @classdesc
40
- * The `AxiosClient` class is a wrapper around the axios library that provides a simplified interface for making HTTP requests. It handles various types of errors and provides a consistent response format.
41
- *
42
- * @param {AxiosRequestConfig} options - The default options for the http client
43
- *
44
- * @example
45
- * const axiosClient = new AxiosClient({ timeout: 1000 * 10 });
46
- * const response = await axiosClient.post("https://example.com", { foo: "bar" });
47
- * if (response.type === "success") {
48
- * console.log(response.statusCode);
49
- * console.log(response.responseBody);
50
- * } else if (response.type === "application-error") {
51
- * console.log(response.statusCode);
52
- * console.log(response.message);
53
- * console.log(response.responseBody);
54
- * } else if (response.type === "client-error") {
55
- * console.log(response.statusCode);
56
- * console.log(response.message);
57
- * }
58
- */
59
- class AxiosClient {
60
- constructor(options) {
61
- const defaultOptions = {
62
- timeout: 1000 * 10,
63
- // `withCredentials` indicates whether or not cross-site Access-Control requests should be made using credentials
64
- withCredentials: false,
65
- // `responseEncoding` indicates encoding to use for decoding responses (Node.js only),
66
- responseEncoding: 'utf8',
67
- // `maxBodyLength` (Node only option) defines the max size of the http request content in bytes allowed,
68
- maxBodyLength: 1000 * 1000 * 10,
69
- // `maxRedirects` defines the maximum number of redirects to follow in node.js,
70
- maxRedirects: 5,
71
- // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http
72
- httpAgent: new http_1.default.Agent({ keepAlive: true }),
73
- // and https requests, respectively, in node.js. This allows options to be added like `keepAlive` that are not enabled by default.
74
- httpsAgent: new https_1.default.Agent({ keepAlive: true }),
75
- };
76
- this.options = { ...defaultOptions, ...options };
77
- this.instance = axios_1.default.create(this.options);
78
- }
79
- async makeRequest(config, responseParser) {
80
- let output;
81
- try {
82
- const requestConfig = config;
83
- const response = await this.instance.request(requestConfig);
84
- const { status, data, headers } = response;
85
- if (responseParser) {
86
- try {
87
- const parsedData = responseParser(data);
88
- output = {
89
- type: 'success',
90
- statusCode: status,
91
- responseBody: parsedData,
92
- headers,
93
- };
94
- return output;
95
- }
96
- catch (error) {
97
- const unknownError = error;
98
- return {
99
- type: 'client-error',
100
- statusCode: unknownError['status'] || 500,
101
- message: `Failed to parse response data: ${unknownError.message}`,
102
- };
103
- }
104
- }
105
- return { type: 'success', statusCode: status, responseBody: data, headers };
106
- }
107
- catch (error) {
108
- if (error instanceof axios_1.AxiosError) {
109
- const axiosError = error;
110
- if (axiosError.response) {
111
- const { response } = axiosError;
112
- return {
113
- type: 'application-error',
114
- statusCode: response.status,
115
- message: response.statusText,
116
- responseBody: response.data,
117
- headers: response.headers,
118
- };
119
- }
120
- if (axiosError.code) {
121
- const resp = constants_1.NETWORK_STATUS_ERR_MAP[axiosError.code];
122
- if (!resp) {
123
- return {
124
- type: 'client-error',
125
- statusCode: 500,
126
- message: `Unknown Error:${axiosError.message}`,
127
- };
128
- }
129
- return {
130
- type: 'client-error',
131
- statusCode: resp.status,
132
- message: resp.message,
133
- };
134
- }
135
- }
136
- const unknownError = error;
137
- const status = 500;
138
- const message = unknownError.message || 'Unknown Error';
139
- return { type: 'client-error', statusCode: status, message };
140
- }
141
- }
142
- async get(url, options, responseParser) {
143
- let config = {
144
- method: 'get',
145
- url: url,
146
- };
147
- if ((0, utils_1.isNotEmpty)(options)) {
148
- config = { ...config, ...options };
149
- }
150
- return this.makeRequest(config, responseParser);
151
- }
152
- async post(url, data, options, responseParser) {
153
- let config = {
154
- method: 'post',
155
- url: url,
156
- data,
157
- };
158
- if ((0, utils_1.isNotEmpty)(options)) {
159
- config = { ...config, ...options };
160
- }
161
- return this.makeRequest(config, responseParser);
162
- }
163
- async put(url, data, options, responseParser) {
164
- let config = {
165
- method: 'put',
166
- url: url,
167
- data,
168
- };
169
- if ((0, utils_1.isNotEmpty)(options)) {
170
- config = { ...config, ...options };
171
- }
172
- return this.makeRequest(config, responseParser);
173
- }
174
- async patch(url, data, options, responseParser) {
175
- let config = {
176
- method: 'patch',
177
- url: url,
178
- data,
179
- };
180
- if ((0, utils_1.isNotEmpty)(options)) {
181
- config = { ...config, ...options };
182
- }
183
- return this.makeRequest(config, responseParser);
184
- }
185
- async delete(url, options, responseParser) {
186
- let config = {
187
- method: 'delete',
188
- url: url,
189
- };
190
- if ((0, utils_1.isNotEmpty)(options)) {
191
- config = { ...config, ...options };
192
- }
193
- return this.makeRequest(config, responseParser);
194
- }
195
- }
196
- exports.AxiosClient = AxiosClient;
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9jbGllbnRzL2F4aW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZFO0FBQzdFLGdEQUF3QjtBQUN4QixrREFBMEI7QUFDMUIsK0NBQXlEO0FBRXpELHVDQUF5QztBQUV6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFhLFdBQVc7SUFJdEIsWUFBWSxPQUE0QjtRQUN0QyxNQUFNLGNBQWMsR0FBRztZQUNyQixPQUFPLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDbEIsaUhBQWlIO1lBQ2pILGVBQWUsRUFBRSxLQUFLO1lBQ3RCLHNGQUFzRjtZQUN0RixnQkFBZ0IsRUFBRSxNQUFNO1lBQ3hCLHdHQUF3RztZQUN4RyxhQUFhLEVBQUUsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQy9CLCtFQUErRTtZQUMvRSxZQUFZLEVBQUUsQ0FBQztZQUNmLHFGQUFxRjtZQUNyRixTQUFTLEVBQUUsSUFBSSxjQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzlDLGtJQUFrSTtZQUNsSSxVQUFVLEVBQUUsSUFBSSxlQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ2pELENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVyxDQUN2QixNQUEwQixFQUMxQixjQUFrQztRQUVsQyxJQUFJLE1BQXNCLENBQUM7UUFDM0IsSUFBSTtZQUNGLE1B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QUcsT0FBTyxFQUFFLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUksTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUNqQixHQUFXLEVBQ1gsT0FBNEIsRUFDNUIsY0FBa0M7UUFFbEMsSUFBSSxNQUFNLEdBQXVCO1lBQy9CLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxHQUFHO1NBQ1QsQ0FBQztRQUNGLElBQUksSUFBQSxrQkFBVSxFQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUksTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FHRjtBQTlLRCxrQ0E4S0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXF1ZXN0Q29uZmlnLCBBeGlvc0Vycm9yLCBBeGlvc0luc3RhbmNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IGh0dHAgZnJvbSAnaHR0cCc7XG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IHsgTkVUV09SS19TVEFUVVNfRVJSX01BUCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZSwgSHR0cENsaWVudCwgUmVzcG9uc2VQYXJzZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGlzTm90RW1wdHkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCBheGlvcyB0byBtYWtlIGh0dHAgcmVxdWVzdHNcbiAqXG4gKiBAY2xhc3MgQXhpb3NDbGllbnRcbiAqIEBjbGFzc2Rlc2NcbiAqIFRoZSBgQXhpb3NDbGllbnRgIGNsYXNzIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlIGF4aW9zIGxpYnJhcnkgdGhhdCBwcm92aWRlcyBhIHNpbXBsaWZpZWQgaW50ZXJmYWNlIGZvciBtYWtpbmcgSFRUUCByZXF1ZXN0cy4gSXQgaGFuZGxlcyB2YXJpb3VzIHR5cGVzIG9mIGVycm9ycyBhbmQgcHJvdmlkZXMgYSBjb25zaXN0ZW50IHJlc3BvbnNlIGZvcm1hdC5cbiAqXG4gKiBAcGFyYW0ge0F4aW9zUmVxdWVzdENvbmZpZ30gb3B0aW9ucyAtIFRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBodHRwIGNsaWVudFxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBheGlvc0NsaWVudCA9IG5ldyBBeGlvc0NsaWVudCh7IHRpbWVvdXQ6IDEwMDAgKiAxMCB9KTtcbiAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3NDbGllbnQucG9zdChcImh0dHBzOi8vZXhhbXBsZS5jb21cIiwgeyBmb286IFwiYmFyXCIgfSk7XG4gKiBpZiAocmVzcG9uc2UudHlwZSA9PT0gXCJzdWNjZXNzXCIpIHtcbiAqICAgY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gKiAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLnJlc3BvbnNlQm9keSk7XG4gKiB9IGVsc2UgaWYgKHJlc3BvbnNlLnR5cGUgPT09IFwiYXBwbGljYXRpb24tZXJyb3JcIikge1xuICogICBjb25zb2xlLmxvZyhyZXNwb25zZS5zdGF0dXNDb2RlKTtcbiAqICAgY29uc29sZS5sb2cocmVzcG9uc2UubWVzc2FnZSk7XG4gKiAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLnJlc3BvbnNlQm9keSk7XG4gKiB9IGVsc2UgaWYgKHJlc3BvbnNlLnR5cGUgPT09IFwiY2xpZW50LWVycm9yXCIpIHtcbiAqICAgY29uc29sZS5sb2cocmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gKiAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpO1xuICogfVxuICovXG5leHBvcnQgY2xhc3MgQXhpb3NDbGllbnQgaW1wbGVtZW50cyBIdHRwQ2xpZW50IHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBBeGlvc1JlcXVlc3RDb25maWc7XG4gIHByaXZhdGUgaW5zdGFuY2U6IEF4aW9zSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IEF4aW9zUmVxdWVzdENvbmZpZykge1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICAgICAgdGltZW91dDogMTAwMCAqIDEwLFxuICAgICAgLy8gYHdpdGhDcmVkZW50aWFsc2AgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IGNyb3NzLXNpdGUgQWNjZXNzLUNvbnRyb2wgcmVxdWVzdHMgc2hvdWxkIGJlIG1hZGUgdXNpbmcgY3JlZGVudGlhbHNcbiAgICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG4gICAgICAvLyBgcmVzcG9uc2VFbmNvZGluZ2AgaW5kaWNhdGVzIGVuY29kaW5nIHRvIHVzZSBmb3IgZGVjb2RpbmcgcmVzcG9uc2VzIChOb2RlLmpzIG9ubHkpLFxuICAgICAgcmVzcG9uc2VFbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgLy8gYG1heEJvZHlMZW5ndGhgIChOb2RlIG9ubHkgb3B0aW9uKSBkZWZpbmVzIHRoZSBtYXggc2l6ZSBvZiB0aGUgaHR0cCByZXF1ZXN0IGNvbnRlbnQgaW4gYnl0ZXMgYWxsb3dlZCxcbiAgICAgIG1heEJvZHlMZW5ndGg6IDEwMDAgKiAxMDAwICogMTAsXG4gICAgICAvLyBgbWF4UmVkaXJlY3RzYCBkZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZWRpcmVjdHMgdG8gZm9sbG93IGluIG5vZGUuanMsXG4gICAgICBtYXhSZWRpcmVjdHM6IDUsXG4gICAgICAvLyBgaHR0cEFnZW50YCBhbmQgYGh0dHBzQWdlbnRgIGRlZmluZSBhIGN1c3RvbSBhZ2VudCB0byBiZSB1c2VkIHdoZW4gcGVyZm9ybWluZyBodHRwXG4gICAgICBodHRwQWdlbnQ6IG5ldyBodHRwLkFnZW50KHsga2VlcEFsaXZlOiB0cnVlIH0pLFxuICAgICAgLy8gYW5kIGh0dHBzIHJlcXVlc3RzLCByZXNwZWN0aXZlbHksIGluIG5vZGUuanMuIFRoaXMgYWxsb3dzIG9wdGlvbnMgdG8gYmUgYWRkZWQgbGlrZSBga2VlcEFsaXZlYCB0aGF0IGFyZSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LlxuICAgICAgaHR0cHNBZ2VudDogbmV3IGh0dHBzLkFnZW50KHsga2VlcEFsaXZlOiB0cnVlIH0pLFxuICAgIH07XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5kZWZhdWx0T3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuICAgIHRoaXMuaW5zdGFuY2UgPSBheGlvcy5jcmVhdGUodGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbWFrZVJlcXVlc3Q8VD4oXG4gICAgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcsXG4gICAgcmVzcG9uc2VQYXJzZXI/OiBSZXNwb25zZVBhcnNlcjxUPixcbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIGxldCBvdXRwdXQ6IEFwaVJlc3BvbnNlPFQ+O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXF1ZXN0Q29uZmlnID0gY29uZmlnO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmluc3RhbmNlLnJlcXVlc3QocmVxdWVzdENvbmZpZyk7XG4gICAgICBjb25zdCB7IHN0YXR1cywgZGF0YSwgaGVhZGVycyB9ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChyZXNwb25zZVBhcnNlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSByZXNwb25zZVBhcnNlcihkYXRhKTtcbiAgICAgICAgICBvdXRwdXQgPSB7XG4gICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICBzdGF0dXNDb2RlOiBzdGF0dXMsXG4gICAgICAgICAgICByZXNwb25zZUJvZHk6IHBhcnNlZERhdGEsXG4gICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCB1bmtub3duRXJyb3IgPSBlcnJvciBhcyBFcnJvcjtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ2NsaWVudC1lcnJvcicsXG4gICAgICAgICAgICBzdGF0dXNDb2RlOiB1bmtub3duRXJyb3JbJ3N0YXR1cyddIHx8IDUwMCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gcGFyc2UgcmVzcG9uc2UgZGF0YTogJHt1bmtub3duRXJyb3IubWVzc2FnZX1gLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHR5cGU6ICdzdWNjZXNzJywgc3RhdHVzQ29kZTogc3RhdHVzLCByZXNwb25zZUJvZHk6IGRhdGEsIGhlYWRlcnMgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXhpb3NFcnJvcikge1xuICAgICAgICBjb25zdCBheGlvc0Vycm9yID0gZXJyb3IgYXMgQXhpb3NFcnJvcjtcbiAgICAgICAgaWYgKGF4aW9zRXJyb3IucmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBheGlvc0Vycm9yO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24tZXJyb3InLFxuICAgICAgICAgICAgc3RhdHVzQ29kZTogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgbWVzc2FnZTogcmVzcG9uc2Uuc3RhdHVzVGV4dCxcbiAgICAgICAgICAgIHJlc3BvbnNlQm9keTogcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXhpb3NFcnJvci5jb2RlKSB7XG4gICAgICAgICAgY29uc3QgcmVzcCA9IE5FVFdPUktfU1RBVFVTX0VSUl9NQVBbYXhpb3NFcnJvci5jb2RlXTtcbiAgICAgICAgICBpZiAoIXJlc3ApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdjbGllbnQtZXJyb3InLFxuICAgICAgICAgICAgICBzdGF0dXNDb2RlOiA1MDAsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmtub3duIEVycm9yOiR7YXhpb3NFcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ2NsaWVudC1lcnJvcicsXG4gICAgICAgICAgICBzdGF0dXNDb2RlOiByZXNwLnN0YXR1cyxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHJlc3AubWVzc2FnZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVua25vd25FcnJvciA9IGVycm9yIGFzIEVycm9yO1xuICAgICAgY29uc3Qgc3RhdHVzID0gNTAwO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHVua25vd25FcnJvci5tZXNzYWdlIHx8ICdVbmtub3duIEVycm9yJztcblxuICAgICAgcmV0dXJuIHsgdHlwZTogJ2NsaWVudC1lcnJvcicsIHN0YXR1c0NvZGU6IHN0YXR1cywgbWVzc2FnZSB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXQ8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEF4aW9zUmVxdWVzdENvbmZpZyxcbiAgICByZXNwb25zZVBhcnNlcj86IFJlc3BvbnNlUGFyc2VyPFQ+LFxuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PiB7XG4gICAgbGV0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogdXJsLFxuICAgIH07XG4gICAgaWYgKGlzTm90RW1wdHkob3B0aW9ucykpIHtcbiAgICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5vcHRpb25zIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0PFQ+KGNvbmZpZywgcmVzcG9uc2VQYXJzZXIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHBvc3Q8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgZGF0YT86IGFueSxcbiAgICBvcHRpb25zPzogQXhpb3NSZXF1ZXN0Q29uZmlnLFxuICAgIHJlc3BvbnNlUGFyc2VyPzogUmVzcG9uc2VQYXJzZXI8VD4sXG4gICk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICBsZXQgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogdXJsLFxuICAgICAgZGF0YSxcbiAgICB9O1xuICAgIGlmIChpc05vdEVtcHR5KG9wdGlvbnMpKSB7XG4gICAgICBjb25maWcgPSB7IC4uLmNvbmZpZywgLi4ub3B0aW9ucyB9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5tYWtlUmVxdWVzdDxUPihjb25maWcsIHJlc3BvbnNlUGFyc2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwdXQ8VD4oXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgZGF0YT86IGFueSxcbiAgICBvcHRpb25zPzogQXhpb3NSZXF1ZXN0Q29uZmlnLFxuICAgIHJlc3BvbnNlUGFyc2VyPzogUmVzcG9uc2VQYXJzZXI8VD4sXG4gICk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICBsZXQgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgdXJsOiB1cmwsXG4gICAgICBkYXRhLFxuICAgIH07XG4gICAgaWYgKGlzTm90RW1wdHkob3B0aW9ucykpIHtcbiAgICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5vcHRpb25zIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0PFQ+KGNvbmZpZywgcmVzcG9uc2VQYXJzZXIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHBhdGNoPFQ+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGRhdGE/OiBhbnksXG4gICAgb3B0aW9ucz86IEF4aW9zUmVxdWVzdENvbmZpZyxcbiAgICByZXNwb25zZVBhcnNlcj86IFJlc3BvbnNlUGFyc2VyPFQ+LFxuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PiB7XG4gICAgbGV0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgbWV0aG9kOiAncGF0Y2gnLFxuICAgICAgdXJsOiB1cmwsXG4gICAgICBkYXRhLFxuICAgIH07XG4gICAgaWYgKGlzTm90RW1wdHkob3B0aW9ucykpIHtcbiAgICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5vcHRpb25zIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0PFQ+KGNvbmZpZywgcmVzcG9uc2VQYXJzZXIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlbGV0ZTxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQXhpb3NSZXF1ZXN0Q29uZmlnLFxuICAgIHJlc3BvbnNlUGFyc2VyPzogUmVzcG9uc2VQYXJzZXI8VD4sXG4gICk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICBsZXQgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgICAgdXJsOiB1cmwsXG4gICAgfTtcbiAgICBpZiAoaXNOb3RFbXB0eShvcHRpb25zKSkge1xuICAgICAgY29uZmlnID0geyAuLi5jb25maWcsIC4uLm9wdGlvbnMgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFrZVJlcXVlc3Q8VD4oY29uZmlnLCByZXNwb25zZVBhcnNlcik7XG4gIH1cblxuICAvLyBBZGQgb3RoZXIgSFRUUCBtZXRob2RzIGFzIG5lZWRlZFxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=axios.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios.test.d.ts","sourceRoot":"","sources":["../../../src/network/clients/axios.test.ts"],"names":[],"mappings":""}