@api-client/core 0.6.2 → 0.6.5
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 +3 -2
- package/build/browser.js +2 -1
- package/build/browser.js.map +1 -1
- package/build/index.d.ts +3 -2
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/src/Platform.d.ts +12 -0
- package/build/src/Platform.js +13 -0
- package/build/src/Platform.js.map +1 -0
- package/build/src/authorization/OAuth2Authorization.d.ts +1 -1
- package/build/src/authorization/OidcAuthorization.d.ts +1 -0
- package/build/src/authorization/OidcAuthorization.js +3 -0
- package/build/src/authorization/OidcAuthorization.js.map +1 -1
- package/build/src/authorization/Utils.js +1 -1
- package/build/src/authorization/Utils.js.map +1 -1
- package/build/src/authorization/lib/SecurityProcessor.d.ts +33 -0
- package/build/src/authorization/lib/SecurityProcessor.js +118 -0
- package/build/src/authorization/lib/SecurityProcessor.js.map +1 -0
- package/build/src/authorization/lib/Utils.d.ts +41 -0
- package/build/src/authorization/lib/Utils.js +85 -0
- package/build/src/authorization/lib/Utils.js.map +1 -0
- package/build/src/lib/transformers/PayloadSerializer.d.ts +85 -19
- package/build/src/lib/transformers/PayloadSerializer.js +172 -64
- package/build/src/lib/transformers/PayloadSerializer.js.map +1 -1
- package/build/src/models/RequestUiMeta.d.ts +2 -2
- package/build/src/models/SerializablePayload.js +2 -1
- package/build/src/models/SerializablePayload.js.map +1 -1
- package/build/src/models/legacy/Normalizer.js +1 -1
- package/build/src/models/legacy/Normalizer.js.map +1 -1
- package/build/src/runtime/http-engine/CoreEngine.js +3 -6
- package/build/src/runtime/http-engine/CoreEngine.js.map +1 -1
- package/build/src/runtime/http-engine/FormData.d.ts +36 -2
- package/build/src/runtime/http-engine/FormData.js +156 -55
- package/build/src/runtime/http-engine/FormData.js.map +1 -1
- package/build/src/runtime/http-engine/PayloadSupport.d.ts +4 -5
- package/build/src/runtime/http-engine/PayloadSupport.js +19 -12
- package/build/src/runtime/http-engine/PayloadSupport.js.map +1 -1
- package/package.json +3 -5
- package/src/Platform.ts +12 -0
- package/src/authorization/OAuth2Authorization.ts +1 -1
- package/src/authorization/OidcAuthorization.ts +4 -0
- package/src/authorization/Utils.ts +1 -1
- package/src/authorization/lib/SecurityProcessor.ts +141 -0
- package/src/authorization/lib/Utils.ts +89 -0
- package/src/lib/transformers/PayloadSerializer.ts +217 -73
- package/src/models/RequestUiMeta.ts +2 -2
- package/src/models/SerializablePayload.ts +2 -1
- package/src/models/legacy/Normalizer.ts +1 -1
- package/src/runtime/http-engine/CoreEngine.ts +3 -6
- package/src/runtime/http-engine/FormData.ts +184 -63
- package/src/runtime/http-engine/PayloadSupport.ts +23 -15
- package/build/src/lib/transformers/Utils.d.ts +0 -7
- package/build/src/lib/transformers/Utils.js +0 -19
- package/build/src/lib/transformers/Utils.js.map +0 -1
- package/src/lib/transformers/Utils.ts +0 -18
|
@@ -4,30 +4,53 @@ export declare type DeserializedPayload = string | Blob | File | FormData | Buff
|
|
|
4
4
|
export declare const SupportedPayloadTypes: PayloadTypes[];
|
|
5
5
|
export interface IMultipartBody {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Whether the parameter is enabled. Default to true.
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
enabled?: boolean;
|
|
10
10
|
/**
|
|
11
11
|
* The name of the filed
|
|
12
12
|
*/
|
|
13
13
|
name: string;
|
|
14
14
|
/**
|
|
15
|
-
* Converted value
|
|
15
|
+
* Converted value.
|
|
16
|
+
* When the part value was a string this is a string.
|
|
17
|
+
* When the previous value was a Blob or a Buffer, this will be a serialized payload.
|
|
16
18
|
*/
|
|
17
|
-
value: string;
|
|
19
|
+
value: string | ISafePayload;
|
|
20
|
+
/**
|
|
21
|
+
* Aside from the `value` which is used to process the Payload, the purpose of this field to to keep
|
|
22
|
+
* the entered by the user string value for the "blob" item. This is primarily handled by the UI
|
|
23
|
+
* and ignored by the HTTP Engine.
|
|
24
|
+
*/
|
|
25
|
+
blobText?: string;
|
|
26
|
+
/**
|
|
27
|
+
* When `true` this entry represent a file part
|
|
28
|
+
* @deprecated This is only used for the compatibility with ARC. This information is encoded in the `value`.
|
|
29
|
+
*/
|
|
30
|
+
isFile?: boolean;
|
|
18
31
|
/**
|
|
19
32
|
* A content type entered by the user to the text part of the text part input.
|
|
20
33
|
* This can only be set when `isFile` is false.
|
|
34
|
+
* @deprecated This is only used for the compatibility with ARC. This information is encoded in the `value`.
|
|
21
35
|
*/
|
|
22
36
|
type?: string;
|
|
23
37
|
/**
|
|
24
38
|
* The original file name used with the part
|
|
39
|
+
* @deprecated This is only used for the compatibility with ARC. This information is encoded in the `value`.
|
|
25
40
|
*/
|
|
26
41
|
fileName?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface IBlobMeta {
|
|
27
44
|
/**
|
|
28
|
-
*
|
|
45
|
+
* The blob's mime type.
|
|
29
46
|
*/
|
|
30
|
-
|
|
47
|
+
mime: string;
|
|
48
|
+
}
|
|
49
|
+
export interface IFileMeta extends IBlobMeta {
|
|
50
|
+
/**
|
|
51
|
+
* The file name.
|
|
52
|
+
*/
|
|
53
|
+
name: string;
|
|
31
54
|
}
|
|
32
55
|
/**
|
|
33
56
|
* Represents a payload that is safe to store in a data store.
|
|
@@ -40,12 +63,15 @@ export interface ISafePayload {
|
|
|
40
63
|
* The type od the originating payload object.
|
|
41
64
|
*/
|
|
42
65
|
type: PayloadTypes;
|
|
66
|
+
/**
|
|
67
|
+
* The payload contents. The data type depends on the `type`.
|
|
68
|
+
*/
|
|
43
69
|
data: string | number[] | IMultipartBody[];
|
|
44
70
|
/**
|
|
45
71
|
* Optionally the original mime type of the payload.
|
|
46
72
|
* This is used with files.
|
|
47
73
|
*/
|
|
48
|
-
|
|
74
|
+
meta?: IBlobMeta | IFileMeta;
|
|
49
75
|
}
|
|
50
76
|
/**
|
|
51
77
|
* The request payload. When not a string then it has to go through a
|
|
@@ -55,24 +81,28 @@ export interface ISafePayload {
|
|
|
55
81
|
* with the `data` being an UInt8Array of the content.
|
|
56
82
|
*/
|
|
57
83
|
export declare type Payload = string | ISafePayload;
|
|
58
|
-
export declare const hasFormData: boolean;
|
|
59
|
-
export declare const hasBlob: boolean;
|
|
60
|
-
export declare const hasBuffer: boolean;
|
|
61
84
|
export declare class PayloadSerializer {
|
|
62
85
|
/**
|
|
63
86
|
* Checked whether the passed payload can be safely stored in the data store.
|
|
64
87
|
* @param payload The value to test.
|
|
65
88
|
*/
|
|
66
89
|
static isSafePayload(payload: any): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Tests whether the given input should be processed by the `serialize()`.
|
|
92
|
+
*/
|
|
93
|
+
static needsSerialization(input: unknown): boolean;
|
|
67
94
|
/**
|
|
68
95
|
* Transforms the payload into a data store safe object.
|
|
69
96
|
*/
|
|
70
97
|
static serialize(payload: DeserializedPayload): Promise<ISafePayload | string | undefined>;
|
|
71
98
|
/**
|
|
72
|
-
*
|
|
99
|
+
* Stringifies a file object.
|
|
100
|
+
*/
|
|
101
|
+
static stringifyFile(file: File): Promise<ISafePayload>;
|
|
102
|
+
/**
|
|
103
|
+
* Stringifies a blob object.
|
|
73
104
|
*
|
|
74
|
-
* @param blob
|
|
75
|
-
* @return Promise resolved to a base64 string data from the file.
|
|
105
|
+
* @param blob Blob object to be translated to string
|
|
76
106
|
*/
|
|
77
107
|
static stringifyBlob(blob: Blob): Promise<ISafePayload>;
|
|
78
108
|
/**
|
|
@@ -95,7 +125,7 @@ export declare class PayloadSerializer {
|
|
|
95
125
|
* @param payload A `FormData` object
|
|
96
126
|
* @return A promise resolved to a datastore safe entries.
|
|
97
127
|
*/
|
|
98
|
-
static stringifyFormData(payload:
|
|
128
|
+
static stringifyFormData(payload: FormData): Promise<ISafePayload>;
|
|
99
129
|
/**
|
|
100
130
|
* Transforms a FormData entry into a safe-to-store text entry
|
|
101
131
|
*
|
|
@@ -103,25 +133,56 @@ export declare class PayloadSerializer {
|
|
|
103
133
|
* @param file The part value
|
|
104
134
|
* @returns Transformed FormData part to a datastore safe entry.
|
|
105
135
|
*/
|
|
106
|
-
static serializeFormDataEntry(name: string, file: string | File): Promise<IMultipartBody>;
|
|
136
|
+
static serializeFormDataEntry(name: string, file: string | File | Blob): Promise<IMultipartBody>;
|
|
107
137
|
/**
|
|
108
138
|
* Restores the payload into its original format.
|
|
109
139
|
*/
|
|
110
140
|
static deserialize(payload: ISafePayload | string | undefined): Promise<DeserializedPayload>;
|
|
111
141
|
/**
|
|
112
|
-
*
|
|
142
|
+
* Deserializes previously serialized file object.
|
|
143
|
+
*
|
|
144
|
+
* @param payload The serialized payload with a file.
|
|
145
|
+
*/
|
|
146
|
+
static deserializeFile(payload: ISafePayload): File;
|
|
147
|
+
/**
|
|
148
|
+
* Deserializes previously serialized blob object.
|
|
149
|
+
*
|
|
150
|
+
* In previous versions of ARC the data was a string as data URL. In API client this is a buffer.
|
|
151
|
+
*
|
|
152
|
+
* @param payload The serialized payload.
|
|
153
|
+
* @return Restored blob value
|
|
154
|
+
*/
|
|
155
|
+
static deserializeBlob(payload: ISafePayload): Blob | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* The old implementation of the blob deserializer.
|
|
113
158
|
*
|
|
159
|
+
* @deprecated
|
|
114
160
|
* @param dataUrl Data url from blob value.
|
|
115
161
|
* @return Restored blob value
|
|
116
162
|
*/
|
|
117
|
-
static
|
|
163
|
+
static deserializeBlobLegacy(dataUrl: string): Blob | undefined;
|
|
118
164
|
/**
|
|
119
|
-
* Converts
|
|
165
|
+
* Converts previously serialized File to a Buffer.
|
|
120
166
|
*
|
|
167
|
+
* @param payload The serialized payload.
|
|
168
|
+
* @return Restored File value as Buffer
|
|
169
|
+
*/
|
|
170
|
+
static deserializeFileBuffer(payload: ISafePayload): Buffer;
|
|
171
|
+
/**
|
|
172
|
+
* Converts data-url string to buffer
|
|
173
|
+
*
|
|
174
|
+
* @param payload The serialized payload.
|
|
175
|
+
* @return Restored blob value
|
|
176
|
+
*/
|
|
177
|
+
static deserializeBlobBuffer(payload: ISafePayload): Buffer;
|
|
178
|
+
/**
|
|
179
|
+
* Converts data-url string to buffer
|
|
180
|
+
*
|
|
181
|
+
* @deprecated
|
|
121
182
|
* @param dataUrl Data url from blob value.
|
|
122
183
|
* @return Restored blob value
|
|
123
184
|
*/
|
|
124
|
-
static
|
|
185
|
+
static deserializeBlobBufferLegacy(dataUrl: string): Buffer;
|
|
125
186
|
/**
|
|
126
187
|
* Converts UInt8Array to a Buffer.
|
|
127
188
|
*
|
|
@@ -148,4 +209,9 @@ export declare class PayloadSerializer {
|
|
|
148
209
|
* @return {FormData} Restored form data
|
|
149
210
|
*/
|
|
150
211
|
static deserializeFormData(parts: IMultipartBody[]): FormData;
|
|
212
|
+
private static deserializeFormDataPart;
|
|
213
|
+
/**
|
|
214
|
+
* @deprecated This is only for compatibility with ARC.
|
|
215
|
+
*/
|
|
216
|
+
private static deserializeFormDataLegacy;
|
|
151
217
|
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hasBlob, hasBuffer, hasFormData } from '../../Platform.js';
|
|
2
2
|
export const SupportedPayloadTypes = ['string', 'file', 'blob', 'buffer', 'arraybuffer', 'formdata', 'x-www-form-urlencoded'];
|
|
3
|
-
export const hasFormData = typeof FormData === 'function';
|
|
4
|
-
export const hasBlob = typeof Blob === 'function';
|
|
5
|
-
export const hasBuffer = typeof Buffer === 'function';
|
|
6
3
|
export class PayloadSerializer {
|
|
7
4
|
/**
|
|
8
5
|
* Checked whether the passed payload can be safely stored in the data store.
|
|
@@ -23,6 +20,16 @@ export class PayloadSerializer {
|
|
|
23
20
|
}
|
|
24
21
|
return false;
|
|
25
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Tests whether the given input should be processed by the `serialize()`.
|
|
25
|
+
*/
|
|
26
|
+
static needsSerialization(input) {
|
|
27
|
+
const typedSerialized = input;
|
|
28
|
+
if (typedSerialized.type && SupportedPayloadTypes.includes(typedSerialized.type)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
26
33
|
/**
|
|
27
34
|
* Transforms the payload into a data store safe object.
|
|
28
35
|
*/
|
|
@@ -39,6 +46,9 @@ export class PayloadSerializer {
|
|
|
39
46
|
// if (typeof payload === 'string') {
|
|
40
47
|
// return payload;
|
|
41
48
|
// }
|
|
49
|
+
if (hasBlob && payload instanceof File) {
|
|
50
|
+
return PayloadSerializer.stringifyFile(payload);
|
|
51
|
+
}
|
|
42
52
|
if (hasBlob && payload instanceof Blob) {
|
|
43
53
|
return PayloadSerializer.stringifyBlob(payload);
|
|
44
54
|
}
|
|
@@ -60,18 +70,37 @@ export class PayloadSerializer {
|
|
|
60
70
|
return '';
|
|
61
71
|
}
|
|
62
72
|
/**
|
|
63
|
-
*
|
|
73
|
+
* Stringifies a file object.
|
|
74
|
+
*/
|
|
75
|
+
static async stringifyFile(file) {
|
|
76
|
+
const buffer = await file.arrayBuffer();
|
|
77
|
+
const view = new Uint8Array(buffer);
|
|
78
|
+
const meta = {
|
|
79
|
+
mime: file.type,
|
|
80
|
+
name: file.name,
|
|
81
|
+
};
|
|
82
|
+
const result = {
|
|
83
|
+
type: 'file',
|
|
84
|
+
data: [...view],
|
|
85
|
+
meta,
|
|
86
|
+
};
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Stringifies a blob object.
|
|
64
91
|
*
|
|
65
|
-
* @param blob
|
|
66
|
-
* @return Promise resolved to a base64 string data from the file.
|
|
92
|
+
* @param blob Blob object to be translated to string
|
|
67
93
|
*/
|
|
68
94
|
static async stringifyBlob(blob) {
|
|
69
|
-
const
|
|
70
|
-
const
|
|
95
|
+
const buffer = await blob.arrayBuffer();
|
|
96
|
+
const view = new Uint8Array(buffer);
|
|
97
|
+
const meta = {
|
|
98
|
+
mime: blob.type,
|
|
99
|
+
};
|
|
71
100
|
const result = {
|
|
72
101
|
type: 'blob',
|
|
73
|
-
data,
|
|
74
|
-
|
|
102
|
+
data: [...view],
|
|
103
|
+
meta,
|
|
75
104
|
};
|
|
76
105
|
return result;
|
|
77
106
|
}
|
|
@@ -97,14 +126,11 @@ export class PayloadSerializer {
|
|
|
97
126
|
* @returns The buffer metadata or undefined if the passed argument is not an ArrayBuffer.
|
|
98
127
|
*/
|
|
99
128
|
static stringifyArrayBuffer(payload) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
return undefined;
|
|
129
|
+
const view = new Uint8Array(payload);
|
|
130
|
+
return {
|
|
131
|
+
type: 'arraybuffer',
|
|
132
|
+
data: Array.from(view),
|
|
133
|
+
};
|
|
108
134
|
}
|
|
109
135
|
/**
|
|
110
136
|
* Transforms the FormData object to a serialized object describing the data.
|
|
@@ -113,8 +139,10 @@ export class PayloadSerializer {
|
|
|
113
139
|
* @return A promise resolved to a datastore safe entries.
|
|
114
140
|
*/
|
|
115
141
|
static async stringifyFormData(payload) {
|
|
142
|
+
// TS apparently doesn't know that FormData is iterable.
|
|
143
|
+
const iterable = payload;
|
|
116
144
|
const promises = [];
|
|
117
|
-
for (const part of
|
|
145
|
+
for (const part of iterable) {
|
|
118
146
|
promises.push(PayloadSerializer.serializeFormDataEntry(part[0], part[1]));
|
|
119
147
|
}
|
|
120
148
|
const items = await Promise.all(promises);
|
|
@@ -132,31 +160,26 @@ export class PayloadSerializer {
|
|
|
132
160
|
*/
|
|
133
161
|
static async serializeFormDataEntry(name, file) {
|
|
134
162
|
if (typeof file === 'string') {
|
|
135
|
-
// when adding an item to the FormData object without 3rd parameter of the append function
|
|
136
|
-
// then the value is a string.
|
|
137
163
|
return {
|
|
138
|
-
isFile: false,
|
|
139
164
|
name,
|
|
140
165
|
value: file,
|
|
141
166
|
enabled: true,
|
|
142
167
|
};
|
|
143
168
|
}
|
|
144
|
-
|
|
169
|
+
let value;
|
|
170
|
+
// API Client adds the "blob" when adding a text value with a mime type.
|
|
171
|
+
// This is recognized by the UI to restore the entry as the text and not a file.
|
|
172
|
+
if (file instanceof File && file.name !== 'blob') {
|
|
173
|
+
value = await PayloadSerializer.stringifyFile(file);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
value = await PayloadSerializer.stringifyBlob(file);
|
|
177
|
+
}
|
|
145
178
|
const part = {
|
|
146
|
-
isFile: false,
|
|
147
179
|
name,
|
|
148
180
|
value,
|
|
149
181
|
enabled: true,
|
|
150
182
|
};
|
|
151
|
-
if (file.name === 'blob') {
|
|
152
|
-
// API Client adds the "blob" filename when the content type is set on the editor.
|
|
153
|
-
// otherwise it wouldn't be possible to set the content type value.
|
|
154
|
-
part.type = file.type;
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
part.isFile = true;
|
|
158
|
-
part.fileName = file.name;
|
|
159
|
-
}
|
|
160
183
|
return part;
|
|
161
184
|
}
|
|
162
185
|
/**
|
|
@@ -174,8 +197,8 @@ export class PayloadSerializer {
|
|
|
174
197
|
// We mostly gonna return a Buffer here.
|
|
175
198
|
switch (payload.type) {
|
|
176
199
|
case 'string': return payload.data;
|
|
177
|
-
case 'file':
|
|
178
|
-
case 'blob': return PayloadSerializer.deserializeBlobBuffer(payload
|
|
200
|
+
case 'file': return PayloadSerializer.deserializeFileBuffer(payload);
|
|
201
|
+
case 'blob': return PayloadSerializer.deserializeBlobBuffer(payload);
|
|
179
202
|
case 'buffer': return PayloadSerializer.deserializeBuffer(payload.data);
|
|
180
203
|
case 'arraybuffer': return PayloadSerializer.deserializeArrayBufferBuffer(payload.data);
|
|
181
204
|
case 'formdata': return undefined;
|
|
@@ -184,21 +207,54 @@ export class PayloadSerializer {
|
|
|
184
207
|
}
|
|
185
208
|
switch (payload.type) {
|
|
186
209
|
case 'string': return payload.data;
|
|
187
|
-
case 'file':
|
|
188
|
-
case 'blob': return PayloadSerializer.deserializeBlob(payload
|
|
189
|
-
case 'buffer': return PayloadSerializer.
|
|
210
|
+
case 'file': return PayloadSerializer.deserializeFile(payload);
|
|
211
|
+
case 'blob': return PayloadSerializer.deserializeBlob(payload);
|
|
212
|
+
case 'buffer': return PayloadSerializer.deserializeArrayBuffer(payload.data);
|
|
190
213
|
case 'arraybuffer': return PayloadSerializer.deserializeArrayBuffer(payload.data);
|
|
191
214
|
case 'formdata': return PayloadSerializer.deserializeFormData(payload.data);
|
|
192
215
|
default: return undefined;
|
|
193
216
|
}
|
|
194
217
|
}
|
|
195
218
|
/**
|
|
196
|
-
*
|
|
219
|
+
* Deserializes previously serialized file object.
|
|
220
|
+
*
|
|
221
|
+
* @param payload The serialized payload with a file.
|
|
222
|
+
*/
|
|
223
|
+
static deserializeFile(payload) {
|
|
224
|
+
const data = payload.data;
|
|
225
|
+
const meta = payload.meta;
|
|
226
|
+
const { mime, name } = meta;
|
|
227
|
+
const { buffer } = new Uint8Array(data);
|
|
228
|
+
return new File([buffer], name, {
|
|
229
|
+
type: mime,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Deserializes previously serialized blob object.
|
|
234
|
+
*
|
|
235
|
+
* In previous versions of ARC the data was a string as data URL. In API client this is a buffer.
|
|
197
236
|
*
|
|
237
|
+
* @param payload The serialized payload.
|
|
238
|
+
* @return Restored blob value
|
|
239
|
+
*/
|
|
240
|
+
static deserializeBlob(payload) {
|
|
241
|
+
if (typeof payload.data === 'string') {
|
|
242
|
+
return this.deserializeBlobLegacy(payload.data);
|
|
243
|
+
}
|
|
244
|
+
const data = payload.data;
|
|
245
|
+
const meta = payload.meta;
|
|
246
|
+
const { mime } = meta;
|
|
247
|
+
const { buffer } = new Uint8Array(data);
|
|
248
|
+
return new Blob([buffer], { type: mime });
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* The old implementation of the blob deserializer.
|
|
252
|
+
*
|
|
253
|
+
* @deprecated
|
|
198
254
|
* @param dataUrl Data url from blob value.
|
|
199
255
|
* @return Restored blob value
|
|
200
256
|
*/
|
|
201
|
-
static
|
|
257
|
+
static deserializeBlobLegacy(dataUrl) {
|
|
202
258
|
const arr = dataUrl.split(',');
|
|
203
259
|
const matchedMime = arr[0].match(/:(.*?);/);
|
|
204
260
|
if (!matchedMime) {
|
|
@@ -214,12 +270,38 @@ export class PayloadSerializer {
|
|
|
214
270
|
return new Blob([u8arr], { type: mime });
|
|
215
271
|
}
|
|
216
272
|
/**
|
|
217
|
-
* Converts
|
|
273
|
+
* Converts previously serialized File to a Buffer.
|
|
274
|
+
*
|
|
275
|
+
* @param payload The serialized payload.
|
|
276
|
+
* @return Restored File value as Buffer
|
|
277
|
+
*/
|
|
278
|
+
static deserializeFileBuffer(payload) {
|
|
279
|
+
const data = payload.data;
|
|
280
|
+
const ab = this.deserializeArrayBuffer(data);
|
|
281
|
+
return Buffer.from(ab);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Converts data-url string to buffer
|
|
218
285
|
*
|
|
286
|
+
* @param payload The serialized payload.
|
|
287
|
+
* @return Restored blob value
|
|
288
|
+
*/
|
|
289
|
+
static deserializeBlobBuffer(payload) {
|
|
290
|
+
if (typeof payload.data === 'string') {
|
|
291
|
+
return this.deserializeBlobBufferLegacy(payload.data);
|
|
292
|
+
}
|
|
293
|
+
const data = payload.data;
|
|
294
|
+
const ab = this.deserializeArrayBuffer(data);
|
|
295
|
+
return Buffer.from(ab);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Converts data-url string to buffer
|
|
299
|
+
*
|
|
300
|
+
* @deprecated
|
|
219
301
|
* @param dataUrl Data url from blob value.
|
|
220
302
|
* @return Restored blob value
|
|
221
303
|
*/
|
|
222
|
-
static
|
|
304
|
+
static deserializeBlobBufferLegacy(dataUrl) {
|
|
223
305
|
const arr = dataUrl.split(',');
|
|
224
306
|
const value = arr[1];
|
|
225
307
|
return Buffer.from(value, 'base64url');
|
|
@@ -262,29 +344,55 @@ export class PayloadSerializer {
|
|
|
262
344
|
if (!Array.isArray(parts) || !parts.length) {
|
|
263
345
|
return fd;
|
|
264
346
|
}
|
|
265
|
-
parts.forEach(
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
347
|
+
parts.forEach(part => this.deserializeFormDataPart(fd, part));
|
|
348
|
+
return fd;
|
|
349
|
+
}
|
|
350
|
+
static deserializeFormDataPart(form, part) {
|
|
351
|
+
if (part.enabled === false) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
// the compatibility with old ARC.
|
|
355
|
+
if (typeof part.isFile === 'boolean') {
|
|
356
|
+
this.deserializeFormDataLegacy(form, part);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
const { name, value } = part;
|
|
360
|
+
if (typeof value === 'string') {
|
|
361
|
+
form.append(name, value);
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
if (value.type === 'string') {
|
|
365
|
+
form.append(name, value.data);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
if (value.type === 'file') {
|
|
369
|
+
const file = this.deserializeFile(value);
|
|
370
|
+
form.append(name, file);
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
const blob = this.deserializeBlob(value);
|
|
374
|
+
form.append(name, blob);
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* @deprecated This is only for compatibility with ARC.
|
|
378
|
+
*/
|
|
379
|
+
static deserializeFormDataLegacy(form, part) {
|
|
380
|
+
let blob;
|
|
381
|
+
if (part.isFile) {
|
|
382
|
+
blob = PayloadSerializer.deserializeBlobLegacy(part.value);
|
|
383
|
+
if (blob) {
|
|
384
|
+
form.append(part.name, blob, part.fileName);
|
|
282
385
|
}
|
|
283
|
-
|
|
284
|
-
|
|
386
|
+
}
|
|
387
|
+
else if (part.type) {
|
|
388
|
+
blob = PayloadSerializer.deserializeBlobLegacy(part.value);
|
|
389
|
+
if (blob) {
|
|
390
|
+
form.append(part.name, blob, 'blob');
|
|
285
391
|
}
|
|
286
|
-
}
|
|
287
|
-
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
form.append(part.name, part.value);
|
|
395
|
+
}
|
|
288
396
|
}
|
|
289
397
|
}
|
|
290
398
|
//# sourceMappingURL=PayloadSerializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayloadSerializer.js","sourceRoot":"","sources":["../../../../src/lib/transformers/PayloadSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PayloadSerializer.js","sourceRoot":"","sources":["../../../../src/lib/transformers/PayloadSerializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IProperty } from './Property.js';
|
|
2
|
-
import { IMultipartBody } from '../lib/transformers/PayloadSerializer.js';
|
|
2
|
+
import { IMultipartBody, ISafePayload } from '../lib/transformers/PayloadSerializer.js';
|
|
3
3
|
import { RequestUiMeta as LegacyRequestUiMeta } from './legacy/request/ArcRequest.js';
|
|
4
4
|
export declare const Kind = "Core#RequestUiMeta";
|
|
5
5
|
/**
|
|
@@ -63,7 +63,7 @@ export interface IBodyMetaModel {
|
|
|
63
63
|
/**
|
|
64
64
|
* Generated view model.
|
|
65
65
|
*/
|
|
66
|
-
viewModel: (IProperty | IMultipartBody | IRawBody)[];
|
|
66
|
+
viewModel: (IProperty | ISafePayload | IMultipartBody | IRawBody)[];
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* Body editor meta data.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PayloadSerializer
|
|
1
|
+
import { PayloadSerializer } from '../lib/transformers/PayloadSerializer.js';
|
|
2
|
+
import { hasBuffer } from '../Platform.js';
|
|
2
3
|
export class SerializablePayload {
|
|
3
4
|
/**
|
|
4
5
|
* The serialized payload message.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerializablePayload.js","sourceRoot":"","sources":["../../../src/models/SerializablePayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SerializablePayload.js","sourceRoot":"","sources":["../../../src/models/SerializablePayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgC,MAAM,0CAA0C,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAO,mBAAmB;IAC9B;;OAEG;IACH,OAAO,CAAW;IAClB;;;OAGG;IACO,cAAc,CAAU;IAElC;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,OAA8B,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC,cAAqC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAO,OAAO,CAAC,IAAc,CAAC;SAC/B;QACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvD,6CAA6C;YAC7C,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,SAAS,IAAI,IAAI,YAAY,MAAM,EAAE;YACvC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAmB,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Normalizer.js","sourceRoot":"","sources":["../../../../src/models/legacy/Normalizer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,IAAI,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Normalizer.js","sourceRoot":"","sources":["../../../../src/models/legacy/Normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,12 +115,9 @@ export class CoreEngine extends HttpEngine {
|
|
|
115
115
|
if (auth) {
|
|
116
116
|
headers.set('proxy-authorization', auth);
|
|
117
117
|
}
|
|
118
|
-
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
if (buffer) {
|
|
122
|
-
addContentLength(this.request.method || 'GET', buffer, headers);
|
|
123
|
-
}
|
|
118
|
+
const buffer = PayloadSupport.payloadToBuffer(headers, payload);
|
|
119
|
+
if (buffer) {
|
|
120
|
+
addContentLength(this.request.method || 'GET', buffer, headers);
|
|
124
121
|
}
|
|
125
122
|
this._handleAuthorization(headers);
|
|
126
123
|
this.sentRequest.headers = headers.toString();
|