@api-client/core 0.8.13 → 0.8.15

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.
@@ -1,4 +1,4 @@
1
- import { IBasicAuthorization, IBearerAuthorization, IOAuth2Authorization, IOidcAuthorization } from "../../models/Authorization.js";
1
+ import { IApiKeyAuthorization, IBasicAuthorization, IBearerAuthorization, IOAuth2Authorization, IOidcAuthorization, IPassThroughAuthorization, IRamlCustomAuthorization } from "../../models/Authorization.js";
2
2
  import { IRequestAuthorization, RequestAuthorization } from "../../models/RequestAuthorization.js";
3
3
  import { IHttpRequest } from "../../models/HttpRequest.js";
4
4
  export interface IAuthApplyOptions {
@@ -30,4 +30,29 @@ export declare class SecurityProcessor {
30
30
  * Injects bearer auth header into the request headers.
31
31
  */
32
32
  static applyBearer(request: IHttpRequest, config: IBearerAuthorization): void;
33
+ /**
34
+ * Injects the RAML custom configuration into the request
35
+ */
36
+ static applyCustomAuth(request: IHttpRequest, config: IRamlCustomAuthorization): void;
37
+ /**
38
+ * Injects the ApiKey configuration into the request
39
+ */
40
+ static applyApiKeys(request: IHttpRequest, config: IApiKeyAuthorization): void;
41
+ /**
42
+ * Injects the PassThrough configuration into the request
43
+ */
44
+ static applyPassThrough(request: IHttpRequest, config: IPassThroughAuthorization): void;
45
+ static applyHeader(request: IHttpRequest, name: string, value: string): void;
46
+ /**
47
+ * Applies a map of query parameters to the request object.
48
+ * @param request The request object
49
+ * @param params A map of query parameters to apply to the request
50
+ */
51
+ static applyQueryParams(request: IHttpRequest, params?: Record<string, string>): void;
52
+ /**
53
+ * Applies a map of headers to the request object.
54
+ * @param request The request object
55
+ * @param headers A map of headers to apply to the request
56
+ */
57
+ static applyHeaders(request: IHttpRequest, headers?: Record<string, string>): void;
33
58
  }
@@ -2,7 +2,7 @@ import { Headers } from '../../lib/headers/Headers.js';
2
2
  import { UrlProcessor } from "../../lib/parsers/UrlProcessor.js";
3
3
  import { UrlEncoder } from "../../lib/parsers/UrlEncoder.js";
4
4
  import { hasBuffer } from '../../Platform.js';
5
- import { normalizeType, METHOD_BASIC, METHOD_BEARER, METHOD_OAUTH2, METHOD_OIDC, } from "./Utils.js";
5
+ import { normalizeType, METHOD_BASIC, METHOD_BEARER, METHOD_OAUTH2, METHOD_OIDC, METHOD_CUSTOM, METHOD_API_KEY, METHOD_PASS_THROUGH, } from "./Utils.js";
6
6
  export class SecurityProcessor {
7
7
  /**
8
8
  * Applies authorization configuration to the request object.
@@ -40,6 +40,24 @@ export class SecurityProcessor {
40
40
  auth.enabled = false;
41
41
  }
42
42
  break;
43
+ case METHOD_CUSTOM:
44
+ SecurityProcessor.applyCustomAuth(request, auth.config);
45
+ if (!opts.immutable) {
46
+ auth.enabled = false;
47
+ }
48
+ break;
49
+ case METHOD_API_KEY:
50
+ SecurityProcessor.applyApiKeys(request, auth.config);
51
+ if (!opts.immutable) {
52
+ auth.enabled = false;
53
+ }
54
+ break;
55
+ case METHOD_PASS_THROUGH:
56
+ SecurityProcessor.applyPassThrough(request, auth.config);
57
+ if (!opts.immutable) {
58
+ auth.enabled = false;
59
+ }
60
+ break;
43
61
  default:
44
62
  }
45
63
  }
@@ -54,9 +72,7 @@ export class SecurityProcessor {
54
72
  }
55
73
  const hash = `${username}:${password || ''}`;
56
74
  const value = hasBuffer ? Buffer.from(hash).toString('base64') : btoa(hash);
57
- const headers = new Headers(request.headers || '');
58
- headers.append('authorization', `Basic ${value}`);
59
- request.headers = headers.toString();
75
+ this.applyHeader(request, 'authorization', `Basic ${value}`);
60
76
  }
61
77
  /**
62
78
  * Injects oauth 2 auth header into the request headers.
@@ -68,9 +84,7 @@ export class SecurityProcessor {
68
84
  }
69
85
  const value = `${tokenType} ${accessToken}`;
70
86
  if (deliveryMethod === 'header') {
71
- const headers = new Headers(request.headers || '');
72
- headers.append(deliveryName, value);
73
- request.headers = headers.toString();
87
+ this.applyHeader(request, deliveryName, value);
74
88
  }
75
89
  else if (deliveryMethod === 'query') {
76
90
  const { url } = request;
@@ -110,9 +124,105 @@ export class SecurityProcessor {
110
124
  return;
111
125
  }
112
126
  const value = `Bearer ${token}`;
113
- const headers = new Headers(request.headers || '');
114
- headers.append('authorization', value);
115
- request.headers = headers.toString();
127
+ this.applyHeader(request, 'authorization', value);
128
+ }
129
+ /**
130
+ * Injects the RAML custom configuration into the request
131
+ */
132
+ static applyCustomAuth(request, config) {
133
+ const { header, query } = config;
134
+ this.applyQueryParams(request, query);
135
+ this.applyHeaders(request, header);
136
+ }
137
+ /**
138
+ * Injects the ApiKey configuration into the request
139
+ */
140
+ static applyApiKeys(request, config) {
141
+ const { header, query } = config;
142
+ this.applyQueryParams(request, query);
143
+ this.applyHeaders(request, header);
144
+ }
145
+ /**
146
+ * Injects the PassThrough configuration into the request
147
+ */
148
+ static applyPassThrough(request, config) {
149
+ const { header, query } = config;
150
+ this.applyQueryParams(request, query);
151
+ this.applyHeaders(request, header);
152
+ }
153
+ static applyHeader(request, name, value) {
154
+ const { headers, headersModel } = request;
155
+ if (headersModel && !headers) {
156
+ const disabled = headersModel.filter(i => !i.enabled);
157
+ const parser = Headers.fromPropertyArray(headersModel.filter(i => !!i.enabled));
158
+ parser.append(name, value);
159
+ request.headersModel = [...parser.toPropertyArray(), ...disabled];
160
+ }
161
+ else {
162
+ const parser = new Headers(headers);
163
+ parser.append(name, value);
164
+ request.headers = parser.toString();
165
+ }
166
+ }
167
+ /**
168
+ * Applies a map of query parameters to the request object.
169
+ * @param request The request object
170
+ * @param params A map of query parameters to apply to the request
171
+ */
172
+ static applyQueryParams(request, params) {
173
+ if (typeof params !== 'object') {
174
+ return;
175
+ }
176
+ const keys = Object.keys(params);
177
+ if (!keys.length) {
178
+ return;
179
+ }
180
+ try {
181
+ const parser = new UrlProcessor(request.url);
182
+ keys.forEach((name) => {
183
+ const value = params[name];
184
+ parser.search.set(UrlEncoder.encodeQueryString(name, true), UrlEncoder.encodeQueryString(value, true));
185
+ });
186
+ request.url = parser.toString();
187
+ }
188
+ catch (e) {
189
+ // ...
190
+ }
191
+ }
192
+ /**
193
+ * Applies a map of headers to the request object.
194
+ * @param request The request object
195
+ * @param headers A map of headers to apply to the request
196
+ */
197
+ static applyHeaders(request, headers) {
198
+ if (typeof headers !== 'object') {
199
+ return;
200
+ }
201
+ const keys = Object.keys(headers);
202
+ if (!keys.length) {
203
+ return;
204
+ }
205
+ let parser;
206
+ let disabled;
207
+ const usesModel = !!request.headersModel && !request.headers;
208
+ if (usesModel) {
209
+ const model = request.headersModel;
210
+ disabled = model.filter(i => !i.enabled);
211
+ parser = Headers.fromPropertyArray(model.filter(i => !!i.enabled));
212
+ }
213
+ else {
214
+ parser = new Headers(request.headers);
215
+ }
216
+ keys.forEach((name) => {
217
+ const value = headers[name];
218
+ parser.append(name, value);
219
+ });
220
+ if (usesModel) {
221
+ request.headersModel = [...parser.toPropertyArray(), ...(disabled || [])];
222
+ }
223
+ else {
224
+ request.headers = parser.toString();
225
+ }
116
226
  }
117
227
  }
118
228
  //# sourceMappingURL=SecurityProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityProcessor.js","sourceRoot":"","sources":["../../../../src/authorization/lib/SecurityProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecurityProcessor.js","sourceRoot":"","sources":["../../../../src/authorization/lib/SecurityProcessor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAWpB,MAAM,OAAO,iBAAiB;IAC5B;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAqB,EAAE,aAA+D,EAAE,OAA0B,EAAE;QAC5I,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC1D,OAAO;SACR;QAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACjC,SAAS;aACV;YAED,QAAQ,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChC,KAAK,YAAY;oBACf,iBAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAA6B,CAAC,CAAC;oBAC9E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,KAAK,aAAa;oBAChB,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAA8B,CAAC,CAAC;oBAC5E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,KAAK,WAAW;oBACd,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAA4B,CAAC,CAAC;oBAC1E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,KAAK,aAAa;oBAChB,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAA8B,CAAC,CAAC;oBAC5E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,KAAK,aAAa;oBAChB,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAG,IAAI,CAAC,MAAmC,CAAC,CAAC;oBACtF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,KAAK,cAAc;oBACjB,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAG,IAAI,CAAC,MAA+B,CAAC,CAAC;oBAC/E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,KAAK,mBAAmB;oBACtB,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAG,IAAI,CAAC,MAAoC,CAAC,CAAC;oBACxF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;oBACD,MAAM;gBACR,QAAQ;aACT;SACF;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAqB,EAAE,MAA2B;QACtE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAqB,EAAE,MAA4B;QACpE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,QAAQ,EAAE,cAAc,GAAG,QAAQ,EAAE,YAAY,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC;QAChH,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;QAC5C,IAAI,cAAc,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;SAChD;aAAM,IAAI,cAAc,KAAK,OAAO,EAAE;YACrC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YACxB,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBAClH,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;aACjC;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM;aACP;SACF;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAqB,EAAE,MAA0B;QAClE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACnD,IAAI,WAAW,EAAE;YACf,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAChD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAmB,CAAC;YAClD,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC5B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBACpC,iBAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAqB,EAAE,MAA4B;QACpE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,MAAM,KAAK,GAAG,UAAU,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAqB,EAAE,MAAgC;QAC5E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAqB,EAAE,MAA4B;QACrE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAqB,EAAE,MAAiC;QAC9E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAqB,EAAE,IAAY,EAAE,KAAa;QACnE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC1C,IAAI,YAAY,IAAI,CAAC,OAAO,EAAE;YAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;SACnE;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;SACrC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAqB,EAAE,MAA+B;QAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAED,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACzG,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM;SACP;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,OAAqB,EAAE,OAAgC;QACzE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,QAAiC,CAAC;QACtC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7D,IAAI,SAAS,EAAE;YACb,MAAM,KAAK,GAAG,OAAO,CAAC,YAA2B,CAAC;YAClD,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACpE;aAAM;YACL,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;SAC3E;aAAM;YACL,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;SACrC;IACH,CAAC;CACF"}
@@ -12,6 +12,9 @@ export declare const METHOD_DIGEST = "digest";
12
12
  export declare const METHOD_OAUTH2 = "oauth 2";
13
13
  export declare const METHOD_OIDC = "open id";
14
14
  export declare const METHOD_CC = "client certificate";
15
+ export declare const METHOD_API_KEY = "api key";
16
+ export declare const METHOD_CUSTOM = "custom";
17
+ export declare const METHOD_PASS_THROUGH = "pass through";
15
18
  export declare const CUSTOM_CREDENTIALS = "Custom credentials";
16
19
  /**
17
20
  * @param value The value to validate
@@ -12,6 +12,9 @@ export const METHOD_DIGEST = "digest";
12
12
  export const METHOD_OAUTH2 = "oauth 2";
13
13
  export const METHOD_OIDC = "open id";
14
14
  export const METHOD_CC = 'client certificate';
15
+ export const METHOD_API_KEY = "api key";
16
+ export const METHOD_CUSTOM = "custom";
17
+ export const METHOD_PASS_THROUGH = "pass through";
15
18
  export const CUSTOM_CREDENTIALS = "Custom credentials";
16
19
  /**
17
20
  * @param value The value to validate
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../src/authorization/lib/Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../src/authorization/lib/Utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import http from 'http';
3
+ import { IProperty } from '../../models/Property.js';
3
4
  interface RawValue {
4
5
  name: string;
5
6
  value: string;
@@ -50,7 +51,7 @@ export declare class Headers {
50
51
  * @param callbackfn A function that accepts up to two arguments. The map method calls the callbackfn function one time for each header.
51
52
  * @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.
52
53
  */
53
- map<U>(callbackfn: (name: string, value: string, enabled: boolean) => U, thisArg?: unknown): U[];
54
+ map<U>(callbackfn: (value: string, name: string, enabled: boolean) => U, thisArg?: unknown): U[];
54
55
  /**
55
56
  * @return The headers HTTP string
56
57
  */
@@ -59,6 +60,14 @@ export declare class Headers {
59
60
  * @returns The HTTP headers string with `#` marks when the header is disabled
60
61
  */
61
62
  toRawString(): string;
63
+ /**
64
+ * @param list The Property list to create the Headers from.
65
+ */
66
+ static fromPropertyArray(list: IProperty[]): Headers;
67
+ /**
68
+ * Transforms current headers list to property list.
69
+ */
70
+ toPropertyArray(): IProperty[];
62
71
  protected _generateString(withDisabled?: boolean): string;
63
72
  /**
64
73
  * Iterates over keys.
@@ -1,3 +1,4 @@
1
+ import { Property } from '../../models/Property.js';
1
2
  /**
2
3
  * Normalizes name of a header.
3
4
  *
@@ -182,6 +183,25 @@ export class Headers {
182
183
  toRawString() {
183
184
  return this._generateString(true);
184
185
  }
186
+ /**
187
+ * @param list The Property list to create the Headers from.
188
+ */
189
+ static fromPropertyArray(list) {
190
+ const result = new Headers();
191
+ list.forEach((prop) => {
192
+ result.append(prop.name, String(prop.value), prop.enabled);
193
+ });
194
+ return result;
195
+ }
196
+ /**
197
+ * Transforms current headers list to property list.
198
+ */
199
+ toPropertyArray() {
200
+ return this.map((value, name, enabled) => {
201
+ const item = Property.String(name, value, enabled);
202
+ return item.toJSON();
203
+ });
204
+ }
185
205
  _generateString(withDisabled = false) {
186
206
  const result = [];
187
207
  const keys = Object.keys(this._map);
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../../src/lib/headers/Headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../../src/lib/headers/Headers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { IProperty, Property } from "./Property.js";
2
+ import { Headers } from '../lib/headers/Headers.js';
2
3
  /**
3
4
  * An array that specializes in keeping HTTP headers data.
4
5
  * Unlike the `Headers` class, this can be serialized with the state.
@@ -6,6 +7,7 @@ import { IProperty, Property } from "./Property.js";
6
7
  export declare class HeadersArray extends Array<Property> {
7
8
  static fromHeaders(headersStr?: string): HeadersArray;
8
9
  static from(arrayLike: ArrayLike<IProperty>): HeadersArray;
10
+ toHeaders(): Headers;
9
11
  /**
10
12
  * Overrides native toString to generate the headers string.
11
13
  * @returns HTTP headers string.
@@ -20,6 +20,14 @@ export class HeadersArray extends Array {
20
20
  arr.forEach((item) => result.push(new Property(item)));
21
21
  return result;
22
22
  }
23
+ toHeaders() {
24
+ const headers = new Headers();
25
+ this.forEach((item) => {
26
+ const header = item;
27
+ headers.append(header.name, header.value, header.enabled);
28
+ });
29
+ return headers;
30
+ }
23
31
  /**
24
32
  * Overrides native toString to generate the headers string.
25
33
  * @returns HTTP headers string.
@@ -44,7 +52,7 @@ export class HeadersArray extends Array {
44
52
  return headers.toRawString();
45
53
  }
46
54
  toJSON() {
47
- return this.map(i => i.toJSON());
55
+ return [...this.map(i => i.toJSON())];
48
56
  }
49
57
  }
50
58
  //# sourceMappingURL=HeadersArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeadersArray.js","sourceRoot":"","sources":["../../../src/models/HeadersArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAe;IAC/C,MAAM,CAAC,WAAW,CAAC,UAAmB;QACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,SAA+B;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACM,QAAQ;QACf,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAgB,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAgB,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"HeadersArray.js","sourceRoot":"","sources":["../../../src/models/HeadersArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAe;IAC/C,MAAM,CAAC,WAAW,CAAC,UAAmB;QACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,SAA+B;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAgB,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACM,QAAQ;QACf,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAgB,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAgB,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -120,7 +120,7 @@ export interface IRequestUiMeta {
120
120
  /**
121
121
  * The currently selected editor in the request editor UI.
122
122
  */
123
- selectedEditor?: number;
123
+ selectedEditor?: string;
124
124
  /**
125
125
  * Optional configuration of the response view
126
126
  */
@@ -147,7 +147,7 @@ export declare class RequestUiMeta {
147
147
  /**
148
148
  * The currently selected editor in the request editor UI.
149
149
  */
150
- selectedEditor?: number;
150
+ selectedEditor?: string;
151
151
  /**
152
152
  * Optional configuration of the response view
153
153
  */
@@ -27,12 +27,11 @@ export class RequestUiMeta {
27
27
  */
28
28
  response;
29
29
  static fromLegacy(old) {
30
- const { authorization, body, headers, response, selectedEditor, url } = old;
30
+ const { authorization, body, headers, response, url } = old;
31
31
  const init = {
32
32
  authorization,
33
33
  body,
34
34
  response,
35
- selectedEditor,
36
35
  };
37
36
  if (url) {
38
37
  const initUrl = {};
@@ -1 +1 @@
1
- {"version":3,"file":"RequestUiMeta.js","sourceRoot":"","sources":["../../../src/models/RequestUiMeta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequestUiMeta.js","sourceRoot":"","sources":["../../../src/models/RequestUiMeta.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@api-client/core",
3
3
  "description": "The API Client's core client library. Works in NodeJS and in a ES enabled browser.",
4
- "version": "0.8.13",
4
+ "version": "0.8.15",
5
5
  "license": "Apache-2.0",
6
6
  "main": "build/index.js",
7
7
  "module": "build/index.js",
@@ -1,6 +1,7 @@
1
- import { IBasicAuthorization, IBearerAuthorization, IOAuth2Authorization, IOidcAuthorization, IOidcTokenInfo } from "../../models/Authorization.js";
1
+ import { IApiKeyAuthorization, IBasicAuthorization, IBearerAuthorization, IOAuth2Authorization, IOidcAuthorization, IOidcTokenInfo, IPassThroughAuthorization, IRamlCustomAuthorization } from "../../models/Authorization.js";
2
2
  import { IRequestAuthorization, RequestAuthorization } from "../../models/RequestAuthorization.js";
3
3
  import { IHttpRequest } from "../../models/HttpRequest.js";
4
+ import { IProperty } from "../../models/Property.js";
4
5
  import { Headers } from '../../lib/headers/Headers.js';
5
6
  import { UrlProcessor } from "../../lib/parsers/UrlProcessor.js";
6
7
  import { UrlEncoder } from "../../lib/parsers/UrlEncoder.js";
@@ -11,6 +12,9 @@ import {
11
12
  METHOD_BEARER,
12
13
  METHOD_OAUTH2,
13
14
  METHOD_OIDC,
15
+ METHOD_CUSTOM,
16
+ METHOD_API_KEY,
17
+ METHOD_PASS_THROUGH,
14
18
  } from "./Utils.js";
15
19
 
16
20
  export interface IAuthApplyOptions {
@@ -61,6 +65,24 @@ export class SecurityProcessor {
61
65
  auth.enabled = false;
62
66
  }
63
67
  break;
68
+ case METHOD_CUSTOM:
69
+ SecurityProcessor.applyCustomAuth(request, (auth.config as IRamlCustomAuthorization));
70
+ if (!opts.immutable) {
71
+ auth.enabled = false;
72
+ }
73
+ break;
74
+ case METHOD_API_KEY:
75
+ SecurityProcessor.applyApiKeys(request, (auth.config as IApiKeyAuthorization));
76
+ if (!opts.immutable) {
77
+ auth.enabled = false;
78
+ }
79
+ break;
80
+ case METHOD_PASS_THROUGH:
81
+ SecurityProcessor.applyPassThrough(request, (auth.config as IPassThroughAuthorization));
82
+ if (!opts.immutable) {
83
+ auth.enabled = false;
84
+ }
85
+ break;
64
86
  default:
65
87
  }
66
88
  }
@@ -76,10 +98,7 @@ export class SecurityProcessor {
76
98
  }
77
99
  const hash = `${username}:${password || ''}`;
78
100
  const value = hasBuffer ? Buffer.from(hash).toString('base64') : btoa(hash);
79
-
80
- const headers = new Headers(request.headers || '');
81
- headers.append('authorization', `Basic ${value}`);
82
- request.headers = headers.toString();
101
+ this.applyHeader(request, 'authorization', `Basic ${value}`);
83
102
  }
84
103
 
85
104
  /**
@@ -92,9 +111,7 @@ export class SecurityProcessor {
92
111
  }
93
112
  const value = `${tokenType} ${accessToken}`;
94
113
  if (deliveryMethod === 'header') {
95
- const headers = new Headers(request.headers || '');
96
- headers.append(deliveryName, value);
97
- request.headers = headers.toString();
114
+ this.applyHeader(request, deliveryName, value);
98
115
  } else if (deliveryMethod === 'query') {
99
116
  const { url } = request;
100
117
  try {
@@ -133,9 +150,108 @@ export class SecurityProcessor {
133
150
  return;
134
151
  }
135
152
  const value = `Bearer ${token}`;
153
+ this.applyHeader(request, 'authorization', value);
154
+ }
155
+
156
+ /**
157
+ * Injects the RAML custom configuration into the request
158
+ */
159
+ static applyCustomAuth(request: IHttpRequest, config: IRamlCustomAuthorization): void {
160
+ const { header, query } = config;
161
+ this.applyQueryParams(request, query);
162
+ this.applyHeaders(request, header);
163
+ }
164
+
165
+ /**
166
+ * Injects the ApiKey configuration into the request
167
+ */
168
+ static applyApiKeys(request: IHttpRequest, config: IApiKeyAuthorization): void {
169
+ const { header, query } = config;
170
+ this.applyQueryParams(request, query);
171
+ this.applyHeaders(request, header);
172
+ }
173
+
174
+ /**
175
+ * Injects the PassThrough configuration into the request
176
+ */
177
+ static applyPassThrough(request: IHttpRequest, config: IPassThroughAuthorization): void {
178
+ const { header, query } = config;
179
+ this.applyQueryParams(request, query);
180
+ this.applyHeaders(request, header);
181
+ }
182
+
183
+ static applyHeader(request: IHttpRequest, name: string, value: string): void {
184
+ const { headers, headersModel } = request;
185
+ if (headersModel && !headers) {
186
+ const disabled = headersModel.filter(i => !i.enabled);
187
+ const parser = Headers.fromPropertyArray(headersModel.filter(i => !!i.enabled));
188
+ parser.append(name, value);
189
+ request.headersModel = [...parser.toPropertyArray(), ...disabled];
190
+ } else {
191
+ const parser = new Headers(headers);
192
+ parser.append(name, value);
193
+ request.headers = parser.toString();
194
+ }
195
+ }
196
+
197
+ /**
198
+ * Applies a map of query parameters to the request object.
199
+ * @param request The request object
200
+ * @param params A map of query parameters to apply to the request
201
+ */
202
+ static applyQueryParams(request: IHttpRequest, params?: Record<string, string>): void {
203
+ if (typeof params !== 'object') {
204
+ return;
205
+ }
206
+ const keys = Object.keys(params);
207
+ if (!keys.length) {
208
+ return;
209
+ }
136
210
 
137
- const headers = new Headers(request.headers || '');
138
- headers.append('authorization', value);
139
- request.headers = headers.toString();
211
+ try {
212
+ const parser = new UrlProcessor(request.url);
213
+ keys.forEach((name) => {
214
+ const value = params[name];
215
+ parser.search.set(UrlEncoder.encodeQueryString(name, true), UrlEncoder.encodeQueryString(value, true));
216
+ });
217
+ request.url = parser.toString();
218
+ } catch (e) {
219
+ // ...
220
+ }
221
+ }
222
+
223
+ /**
224
+ * Applies a map of headers to the request object.
225
+ * @param request The request object
226
+ * @param headers A map of headers to apply to the request
227
+ */
228
+ static applyHeaders(request: IHttpRequest, headers?: Record<string, string>): void {
229
+ if (typeof headers !== 'object') {
230
+ return;
231
+ }
232
+ const keys = Object.keys(headers);
233
+ if (!keys.length) {
234
+ return;
235
+ }
236
+
237
+ let parser: Headers;
238
+ let disabled: IProperty[] | undefined;
239
+ const usesModel = !!request.headersModel && !request.headers;
240
+ if (usesModel) {
241
+ const model = request.headersModel as IProperty[];
242
+ disabled = model.filter(i => !i.enabled);
243
+ parser = Headers.fromPropertyArray(model.filter(i => !!i.enabled));
244
+ } else {
245
+ parser = new Headers(request.headers);
246
+ }
247
+ keys.forEach((name) => {
248
+ const value = headers[name];
249
+ parser.append(name, value);
250
+ });
251
+ if (usesModel) {
252
+ request.headersModel = [...parser.toPropertyArray(), ...(disabled || [])];
253
+ } else {
254
+ request.headers = parser.toString();
255
+ }
140
256
  }
141
257
  }
@@ -13,6 +13,9 @@ export const METHOD_DIGEST = "digest";
13
13
  export const METHOD_OAUTH2 = "oauth 2";
14
14
  export const METHOD_OIDC = "open id";
15
15
  export const METHOD_CC = 'client certificate';
16
+ export const METHOD_API_KEY = "api key";
17
+ export const METHOD_CUSTOM = "custom";
18
+ export const METHOD_PASS_THROUGH = "pass through";
16
19
  export const CUSTOM_CREDENTIALS = "Custom credentials";
17
20
 
18
21
  /**
@@ -1,4 +1,5 @@
1
1
  import http from 'http';
2
+ import { IProperty, Property } from '../../models/Property.js';
2
3
 
3
4
  /* eslint-disable no-unused-vars */
4
5
  interface RawValue {
@@ -177,7 +178,7 @@ export class Headers {
177
178
  * @param callbackfn A function that accepts up to two arguments. The map method calls the callbackfn function one time for each header.
178
179
  * @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.
179
180
  */
180
- map<U>(callbackfn: (name: string, value: string, enabled: boolean) => U, thisArg?: unknown): U[] {
181
+ map<U>(callbackfn: (value: string, name: string, enabled: boolean) => U, thisArg?: unknown): U[] {
181
182
  const keys = Object.keys(this._map);
182
183
  const results: U[] = [];
183
184
  for (const name of keys) {
@@ -202,6 +203,27 @@ export class Headers {
202
203
  return this._generateString(true);
203
204
  }
204
205
 
206
+ /**
207
+ * @param list The Property list to create the Headers from.
208
+ */
209
+ static fromPropertyArray(list: IProperty[]): Headers {
210
+ const result = new Headers();
211
+ list.forEach((prop) => {
212
+ result.append(prop.name, String(prop.value), prop.enabled);
213
+ });
214
+ return result;
215
+ }
216
+
217
+ /**
218
+ * Transforms current headers list to property list.
219
+ */
220
+ toPropertyArray(): IProperty[] {
221
+ return this.map((value, name, enabled) => {
222
+ const item = Property.String(name, value, enabled);
223
+ return item.toJSON();
224
+ });
225
+ }
226
+
205
227
  protected _generateString(withDisabled = false): string {
206
228
  const result: string[] = [];
207
229
  const keys = Object.keys(this._map);
@@ -23,6 +23,15 @@ export class HeadersArray extends Array<Property> {
23
23
  return result;
24
24
  }
25
25
 
26
+ toHeaders(): Headers {
27
+ const headers = new Headers();
28
+ this.forEach((item) => {
29
+ const header = item as Property;
30
+ headers.append(header.name, header.value as string, header.enabled);
31
+ });
32
+ return headers;
33
+ }
34
+
26
35
  /**
27
36
  * Overrides native toString to generate the headers string.
28
37
  * @returns HTTP headers string.
@@ -49,6 +58,6 @@ export class HeadersArray extends Array<Property> {
49
58
  }
50
59
 
51
60
  toJSON(): Array<IProperty> {
52
- return this.map(i => i.toJSON());
61
+ return [...this.map(i => i.toJSON())];
53
62
  }
54
63
  }
@@ -130,7 +130,7 @@ export interface IRequestUiMeta {
130
130
  /**
131
131
  * The currently selected editor in the request editor UI.
132
132
  */
133
- selectedEditor?: number;
133
+ selectedEditor?: string;
134
134
  /**
135
135
  * Optional configuration of the response view
136
136
  */
@@ -158,19 +158,18 @@ export class RequestUiMeta {
158
158
  /**
159
159
  * The currently selected editor in the request editor UI.
160
160
  */
161
- selectedEditor?: number;
161
+ selectedEditor?: string;
162
162
  /**
163
163
  * Optional configuration of the response view
164
164
  */
165
165
  response?: IResponseUiMeta;
166
166
 
167
167
  static fromLegacy(old: LegacyRequestUiMeta): RequestUiMeta {
168
- const { authorization, body, headers, response, selectedEditor, url } = old;
168
+ const { authorization, body, headers, response, url } = old;
169
169
  const init: IRequestUiMeta = {
170
170
  authorization,
171
171
  body,
172
172
  response,
173
- selectedEditor,
174
173
  };
175
174
  if (url) {
176
175
  const initUrl: IUrlMeta = {};