@api-client/core 0.5.17 → 0.5.20
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/build/browser.d.ts +4 -2
- package/build/browser.js +4 -0
- package/build/browser.js.map +1 -1
- package/build/index.d.ts +4 -2
- package/build/index.js +4 -0
- package/build/index.js.map +1 -1
- package/build/src/events/BaseEvents.d.ts +1 -1
- package/build/src/events/BaseEvents.js.map +1 -1
- package/build/src/events/EventTypes.d.ts +0 -28
- package/build/src/events/Events.d.ts +0 -1
- package/build/src/events/models/ClientCertificateEvents.d.ts +6 -8
- package/build/src/events/models/ClientCertificateEvents.js +4 -6
- package/build/src/events/models/ClientCertificateEvents.js.map +1 -1
- package/build/src/events/models/ModelEventTypes.d.ts +0 -34
- package/build/src/events/models/ModelEventTypes.js +0 -34
- package/build/src/events/models/ModelEventTypes.js.map +1 -1
- package/build/src/events/models/ModelEvents.d.ts +0 -2
- package/build/src/events/models/ModelEvents.js +0 -2
- package/build/src/events/models/ModelEvents.js.map +1 -1
- package/build/src/lib/Buffer.d.ts +21 -0
- package/build/src/lib/Buffer.js +43 -0
- package/build/src/lib/Buffer.js.map +1 -0
- package/build/src/lib/definitions/HttpDefinitions.d.ts +33 -0
- package/build/src/lib/definitions/HttpDefinitions.js +58 -0
- package/build/src/lib/definitions/HttpDefinitions.js.map +1 -0
- package/build/src/lib/headers/Headers.d.ts +8 -1
- package/build/src/lib/headers/Headers.js +48 -34
- package/build/src/lib/headers/Headers.js.map +1 -1
- package/build/src/lib/headers/HeadersData.d.ts +35 -0
- package/build/src/lib/headers/HeadersData.js +678 -0
- package/build/src/lib/headers/HeadersData.js.map +1 -0
- package/build/src/lib/parsers/UriTemplate.d.ts +5 -3
- package/build/src/lib/parsers/UriTemplate.js +3 -3
- package/build/src/lib/parsers/UriTemplate.js.map +1 -1
- package/build/src/lib/parsers/UrlProcessor.d.ts +255 -0
- package/build/src/lib/parsers/UrlProcessor.js +687 -0
- package/build/src/lib/parsers/UrlProcessor.js.map +1 -0
- package/build/src/models/ClientCertificate.d.ts +130 -25
- package/build/src/models/ClientCertificate.js +150 -1
- package/build/src/models/ClientCertificate.js.map +1 -1
- package/build/src/models/Request.d.ts +3 -3
- package/build/src/models/Request.js +3 -2
- package/build/src/models/Request.js.map +1 -1
- package/build/src/runtime/http-engine/CoreEngine.js +4 -1
- package/build/src/runtime/http-engine/CoreEngine.js.map +1 -1
- package/build/src/runtime/http-engine/HttpEngine.d.ts +4 -4
- package/build/src/runtime/http-engine/HttpEngine.js +38 -29
- package/build/src/runtime/http-engine/HttpEngine.js.map +1 -1
- package/build/src/runtime/modules/ModulesRegistry.d.ts +2 -2
- package/build/src/runtime/node/ProjectRequestRunner.js +1 -1
- package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -1
- package/build/src/runtime/node/RequestFactory.d.ts +2 -2
- package/build/src/runtime/node/RequestFactory.js.map +1 -1
- package/package.json +1 -1
- package/src/events/BaseEvents.ts +1 -1
- package/src/events/models/ClientCertificateEvents.ts +11 -13
- package/src/events/models/ModelEventTypes.ts +0 -34
- package/src/events/models/ModelEvents.ts +0 -2
- package/src/lib/Buffer.ts +48 -0
- package/src/lib/definitions/HttpDefinitions.ts +63 -0
- package/src/lib/headers/Headers.ts +50 -34
- package/src/lib/headers/HeadersData.ts +788 -0
- package/src/lib/parsers/UriTemplate.ts +9 -7
- package/src/lib/parsers/UrlProcessor.ts +799 -0
- package/src/models/ClientCertificate.ts +224 -25
- package/src/models/Request.ts +5 -5
- package/src/runtime/http-engine/CoreEngine.ts +4 -1
- package/src/runtime/http-engine/HttpEngine.ts +39 -33
- package/src/runtime/modules/ModulesRegistry.ts +2 -2
- package/src/runtime/node/ProjectRequestRunner.ts +1 -1
- package/src/runtime/node/RequestFactory.ts +2 -2
- package/build/src/events/models/ProjectEvents.d.ts +0 -221
- package/build/src/events/models/ProjectEvents.js +0 -253
- package/build/src/events/models/ProjectEvents.js.map +0 -1
- package/src/events/models/ProjectEvents.ts +0 -331
|
@@ -10,38 +10,4 @@ export const ModelEventTypes = {
|
|
|
10
10
|
delete: 'storestateclientcertificatedelete',
|
|
11
11
|
}),
|
|
12
12
|
}),
|
|
13
|
-
Project: Object.freeze({
|
|
14
|
-
create: 'storeprojectcreate',
|
|
15
|
-
read: 'storeprojectread',
|
|
16
|
-
update: 'storeprojectupdate',
|
|
17
|
-
delete: 'storeprojectdelete',
|
|
18
|
-
/**
|
|
19
|
-
* Moves objects inside a project between position and/or folders.
|
|
20
|
-
*/
|
|
21
|
-
move: 'storeprojectmove',
|
|
22
|
-
/**
|
|
23
|
-
* Makes a copy of the project and stores it as new.
|
|
24
|
-
*/
|
|
25
|
-
clone: 'storeprojectclone',
|
|
26
|
-
listAll: 'storeprojectlistall', // without pagination
|
|
27
|
-
Folder: Object.freeze({
|
|
28
|
-
create: 'storeprojectfoldercreate',
|
|
29
|
-
delete: 'storeprojectfolderdelete',
|
|
30
|
-
update: 'storeprojectfolderupdate',
|
|
31
|
-
}),
|
|
32
|
-
Request: Object.freeze({
|
|
33
|
-
create: 'storeprojectrequestcreate',
|
|
34
|
-
delete: 'storeprojectrequestdelete',
|
|
35
|
-
update: 'storeprojectrequestupdate',
|
|
36
|
-
}),
|
|
37
|
-
Environment: Object.freeze({
|
|
38
|
-
create: 'storeprojectenvironmentcreate',
|
|
39
|
-
delete: 'storeprojectenvironmentdelete',
|
|
40
|
-
update: 'storeprojectenvironmentupdate',
|
|
41
|
-
}),
|
|
42
|
-
State: Object.freeze({
|
|
43
|
-
update: 'storeprojectstateupdate',
|
|
44
|
-
delete: 'storeprojectstatedelete',
|
|
45
|
-
})
|
|
46
|
-
}),
|
|
47
13
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts base64 string to Uint8Array.
|
|
3
|
+
*
|
|
4
|
+
* @returns The restored array view.
|
|
5
|
+
*/
|
|
6
|
+
export function base64ToBuffer(str: string): Uint8Array {
|
|
7
|
+
const asciiString = atob(str);
|
|
8
|
+
return new Uint8Array([...asciiString].map((char) => char.charCodeAt(0)));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Converts incoming data to base64 string.
|
|
13
|
+
*
|
|
14
|
+
* @returns Safe to store string.
|
|
15
|
+
*/
|
|
16
|
+
export function bufferToBase64(view: Buffer | Uint8Array): string {
|
|
17
|
+
const str = view.reduce(
|
|
18
|
+
(data, byte) => data + String.fromCharCode(byte),
|
|
19
|
+
''
|
|
20
|
+
);
|
|
21
|
+
return btoa(str);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Reads file as ArrayBuffer
|
|
26
|
+
*/
|
|
27
|
+
export function fileToBuffer(blob: Blob): Promise<Uint8Array> {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
const reader = new FileReader();
|
|
30
|
+
reader.onload = (): void => { resolve(new Uint8Array(reader.result as ArrayBuffer)); };
|
|
31
|
+
/* istanbul ignore next */
|
|
32
|
+
reader.onerror = (): void => { reject(new Error('Unable to read file')); };
|
|
33
|
+
reader.readAsArrayBuffer(blob);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Reads file as string
|
|
39
|
+
*/
|
|
40
|
+
export function fileToString(blob: Blob): Promise<string> {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
const reader = new FileReader();
|
|
43
|
+
reader.onload = (): void => { resolve(reader.result as string); };
|
|
44
|
+
/* istanbul ignore next */
|
|
45
|
+
reader.onerror = (): void => { reject(new Error('Unable to read file')); };
|
|
46
|
+
reader.readAsText(blob);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { requestHeaders, responseHeaders, statusCodes, IHeaderDefinition, IStatusCodeDefinition } from '../headers/HeadersData.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Queries for headers containing a `query`. If query is not set
|
|
5
|
+
* (value is falsy) then it returns all headers definitions array.
|
|
6
|
+
*
|
|
7
|
+
* @param query A query to search for in the `key` field of the headers array.
|
|
8
|
+
* @param type If this equals `request` then it will look in the request headers array. Is the response headers list otherwise.
|
|
9
|
+
* @returns Array of the headers of selected `type` matched a `query` in a header's `key` field.
|
|
10
|
+
*/
|
|
11
|
+
export function queryHeaders(type: 'request' | 'response', query?: string): IHeaderDefinition[] {
|
|
12
|
+
const headers = type === 'request' ? requestHeaders : responseHeaders;
|
|
13
|
+
if (!query) {
|
|
14
|
+
return headers;
|
|
15
|
+
}
|
|
16
|
+
const lowerQuery = query.trim().toLowerCase();
|
|
17
|
+
return headers.filter(
|
|
18
|
+
(item) => item.key.toLowerCase().indexOf(lowerQuery) !== -1
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Queries for request headers that contains a `query`. If query is
|
|
24
|
+
* not set (value is falsy) then it returns all headers definitions array.
|
|
25
|
+
*
|
|
26
|
+
* @param name A header name to look for. It will match a header where the header name contains the `name` param.
|
|
27
|
+
* @returns Array of the request headers matched `name` in the header's `key` field.
|
|
28
|
+
*/
|
|
29
|
+
export function queryRequestHeaders(name?: string): IHeaderDefinition[] {
|
|
30
|
+
return queryHeaders('request', name);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Queries for response headers that contains a `query`. If query is
|
|
35
|
+
* not set (value is falsy) then it returns all headers definitions array.
|
|
36
|
+
*
|
|
37
|
+
* @param name A header name to look for. It will match a header where the header name contains the `name` param.
|
|
38
|
+
* @returns Array of the response headers matched `name` in the header's `key` field.
|
|
39
|
+
*/
|
|
40
|
+
export function queryResponseHeaders(name?: string): IHeaderDefinition[] {
|
|
41
|
+
return queryHeaders('response', name);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Convenient function to look for a status code in the array.
|
|
46
|
+
*
|
|
47
|
+
* @param codeArg The status code to look for.
|
|
48
|
+
* @returns Status code definition or null if not found.
|
|
49
|
+
*/
|
|
50
|
+
export function getStatusCode(codeArg: number): IStatusCodeDefinition|IStatusCodeDefinition[]|null {
|
|
51
|
+
if (!codeArg) {
|
|
52
|
+
return statusCodes;
|
|
53
|
+
}
|
|
54
|
+
const code = Number(codeArg);
|
|
55
|
+
if (Number.isNaN(code)) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const res = statusCodes.filter((item) => item.key === code);
|
|
59
|
+
if (!res.length) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return res[0];
|
|
63
|
+
}
|
|
@@ -55,8 +55,8 @@ function* headersStringToList(string: string): Generator<string[]> {
|
|
|
55
55
|
if (sepPosition === -1) {
|
|
56
56
|
yield [line, ''];
|
|
57
57
|
} else {
|
|
58
|
-
const name = line.
|
|
59
|
-
const value = line.
|
|
58
|
+
const name = line.substring(0, sepPosition);
|
|
59
|
+
const value = line.substring(sepPosition + 1).trim();
|
|
60
60
|
yield [name, value];
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -70,7 +70,8 @@ export class Headers {
|
|
|
70
70
|
/**
|
|
71
71
|
* The keys are canonical keys and the values are the input values.
|
|
72
72
|
*/
|
|
73
|
-
|
|
73
|
+
_map: Record<string, RawValue> = {};
|
|
74
|
+
|
|
74
75
|
/**
|
|
75
76
|
* @param headers The headers to parse.
|
|
76
77
|
*/
|
|
@@ -99,7 +100,7 @@ export class Headers {
|
|
|
99
100
|
}
|
|
100
101
|
const normalizedName = normalizeName(name);
|
|
101
102
|
value = value ? normalizeValue(value) : '';
|
|
102
|
-
let item = this.
|
|
103
|
+
let item = this._map[normalizedName];
|
|
103
104
|
if (item) {
|
|
104
105
|
const oldValue = item.value;
|
|
105
106
|
item.value = oldValue ? `${oldValue},${value}` : value;
|
|
@@ -109,7 +110,7 @@ export class Headers {
|
|
|
109
110
|
value,
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
|
-
this.
|
|
113
|
+
this._map[normalizedName] = item;
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
/**
|
|
@@ -117,7 +118,7 @@ export class Headers {
|
|
|
117
118
|
* @param name The header name
|
|
118
119
|
*/
|
|
119
120
|
delete(name: string): void {
|
|
120
|
-
delete this.
|
|
121
|
+
delete this._map[normalizeName(name)];
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
/**
|
|
@@ -126,14 +127,14 @@ export class Headers {
|
|
|
126
127
|
*/
|
|
127
128
|
get(name: string): string | undefined {
|
|
128
129
|
name = normalizeName(name);
|
|
129
|
-
return this.has(name) ? this.
|
|
130
|
+
return this.has(name) ? this._map[name].value : undefined;
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
/**
|
|
133
134
|
* Checks if the header exists.
|
|
134
135
|
*/
|
|
135
136
|
has(name: string): boolean {
|
|
136
|
-
return Object.prototype.hasOwnProperty.call(this.
|
|
137
|
+
return Object.prototype.hasOwnProperty.call(this._map, normalizeName(name));
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
/**
|
|
@@ -141,7 +142,7 @@ export class Headers {
|
|
|
141
142
|
*/
|
|
142
143
|
set(name: string, value: string): void {
|
|
143
144
|
const normalizedName = normalizeName(name);
|
|
144
|
-
this.
|
|
145
|
+
this._map[normalizedName] = {
|
|
145
146
|
value: normalizeValue(value),
|
|
146
147
|
name,
|
|
147
148
|
};
|
|
@@ -151,11 +152,28 @@ export class Headers {
|
|
|
151
152
|
* Iterates over each header.
|
|
152
153
|
*/
|
|
153
154
|
forEach(callback: (value: string, name: string, headers: Headers) => void, thisArg?: unknown): void {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
const keys = Object.keys(this._map);
|
|
156
|
+
keys.forEach((key) => {
|
|
157
|
+
const item = this._map[key];
|
|
158
|
+
callback.call(thisArg, item.value, item.name, this);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Calls a defined callback function on each element of the headers, and returns an array that contains the results.
|
|
164
|
+
*
|
|
165
|
+
* @param callbackfn A function that accepts up to two arguments. The map method calls the callbackfn function one time for each header.
|
|
166
|
+
* @param thisArg An object to which the `this` keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
|
|
167
|
+
*/
|
|
168
|
+
map<U>(callbackfn: (name: string, value: string) => U, thisArg?: any): U[] {
|
|
169
|
+
const keys = Object.keys(this._map);
|
|
170
|
+
const results: U[] = [];
|
|
171
|
+
for (const name of keys) {
|
|
172
|
+
const item = this._map[name];
|
|
173
|
+
const cbReturn = callbackfn.call(thisArg, item.value, item.name);
|
|
174
|
+
results.push(cbReturn);
|
|
158
175
|
}
|
|
176
|
+
return results;
|
|
159
177
|
}
|
|
160
178
|
|
|
161
179
|
/**
|
|
@@ -163,13 +181,15 @@ export class Headers {
|
|
|
163
181
|
*/
|
|
164
182
|
toString(): string {
|
|
165
183
|
const result: string[] = [];
|
|
166
|
-
this.
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
184
|
+
const keys = Object.keys(this._map);
|
|
185
|
+
for (const name of keys) {
|
|
186
|
+
const item = this._map[name];
|
|
187
|
+
let tmp = `${item.name}: `;
|
|
188
|
+
if (item.value) {
|
|
189
|
+
tmp += item.value;
|
|
170
190
|
}
|
|
171
191
|
result.push(tmp);
|
|
172
|
-
}
|
|
192
|
+
}
|
|
173
193
|
return result.join('\n');
|
|
174
194
|
}
|
|
175
195
|
|
|
@@ -177,10 +197,9 @@ export class Headers {
|
|
|
177
197
|
* Iterates over keys.
|
|
178
198
|
*/
|
|
179
199
|
*keys(): IterableIterator<string> {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
200
|
+
const keys = Object.keys(this._map);
|
|
201
|
+
for (const name of keys) {
|
|
202
|
+
yield this._map[name].name;
|
|
184
203
|
}
|
|
185
204
|
}
|
|
186
205
|
|
|
@@ -188,10 +207,9 @@ export class Headers {
|
|
|
188
207
|
* Iterates over values.
|
|
189
208
|
*/
|
|
190
209
|
*values(): IterableIterator<string> {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
210
|
+
const keys = Object.keys(this._map);
|
|
211
|
+
for (const name of keys) {
|
|
212
|
+
yield this._map[name].value;
|
|
195
213
|
}
|
|
196
214
|
}
|
|
197
215
|
|
|
@@ -199,10 +217,9 @@ export class Headers {
|
|
|
199
217
|
* Iterates over headers.
|
|
200
218
|
*/
|
|
201
219
|
*entries(): IterableIterator<string[]> {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
220
|
+
const keys = Object.keys(this._map);
|
|
221
|
+
for (const name of keys) {
|
|
222
|
+
yield [this._map[name].name, this._map[name].value];
|
|
206
223
|
}
|
|
207
224
|
}
|
|
208
225
|
|
|
@@ -210,10 +227,9 @@ export class Headers {
|
|
|
210
227
|
* Iterates over headers.
|
|
211
228
|
*/
|
|
212
229
|
*[Symbol.iterator](): IterableIterator<string[]> {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
230
|
+
const keys = Object.keys(this._map);
|
|
231
|
+
for (const name of keys) {
|
|
232
|
+
yield [this._map[name].name, this._map[name].value];
|
|
217
233
|
}
|
|
218
234
|
}
|
|
219
235
|
}
|