@resolution/organizations-api-client 0.14.0

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.
Files changed (75) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +110 -0
  3. package/lib/index.d.ts +39 -0
  4. package/lib/index.js +46 -0
  5. package/lib/index.js.map +1 -0
  6. package/lib/openapi/core/CommonHttpClient.d.ts +316 -0
  7. package/lib/openapi/core/CommonHttpClient.js +639 -0
  8. package/lib/openapi/core/CommonHttpClient.js.map +1 -0
  9. package/lib/openapi/core/CommonHttpService.d.ts +26 -0
  10. package/lib/openapi/core/CommonHttpService.js +40 -0
  11. package/lib/openapi/core/CommonHttpService.js.map +1 -0
  12. package/lib/openapi/core/CommonValidationSchemaStorage.d.ts +35 -0
  13. package/lib/openapi/core/CommonValidationSchemaStorage.js +63 -0
  14. package/lib/openapi/core/CommonValidationSchemaStorage.js.map +1 -0
  15. package/lib/openapi/organizations/BaseOrganizationsApiClient.d.ts +94 -0
  16. package/lib/openapi/organizations/BaseOrganizationsApiClient.js +127 -0
  17. package/lib/openapi/organizations/BaseOrganizationsApiClient.js.map +1 -0
  18. package/lib/openapi/organizations/models/common.d.ts +222 -0
  19. package/lib/openapi/organizations/models/common.js +66 -0
  20. package/lib/openapi/organizations/models/common.js.map +1 -0
  21. package/lib/openapi/organizations/models/directory.d.ts +151 -0
  22. package/lib/openapi/organizations/models/directory.js +58 -0
  23. package/lib/openapi/organizations/models/directory.js.map +1 -0
  24. package/lib/openapi/organizations/models/domains.d.ts +52 -0
  25. package/lib/openapi/organizations/models/domains.js +35 -0
  26. package/lib/openapi/organizations/models/domains.js.map +1 -0
  27. package/lib/openapi/organizations/models/events.d.ts +280 -0
  28. package/lib/openapi/organizations/models/events.js +129 -0
  29. package/lib/openapi/organizations/models/events.js.map +1 -0
  30. package/lib/openapi/organizations/models/groups.d.ts +297 -0
  31. package/lib/openapi/organizations/models/groups.js +114 -0
  32. package/lib/openapi/organizations/models/groups.js.map +1 -0
  33. package/lib/openapi/organizations/models/orgs.d.ts +52 -0
  34. package/lib/openapi/organizations/models/orgs.js +36 -0
  35. package/lib/openapi/organizations/models/orgs.js.map +1 -0
  36. package/lib/openapi/organizations/models/policies.d.ts +169 -0
  37. package/lib/openapi/organizations/models/policies.js +101 -0
  38. package/lib/openapi/organizations/models/policies.js.map +1 -0
  39. package/lib/openapi/organizations/models/users.d.ts +477 -0
  40. package/lib/openapi/organizations/models/users.js +178 -0
  41. package/lib/openapi/organizations/models/users.js.map +1 -0
  42. package/lib/openapi/organizations/models/workspaces.d.ts +200 -0
  43. package/lib/openapi/organizations/models/workspaces.js +106 -0
  44. package/lib/openapi/organizations/models/workspaces.js.map +1 -0
  45. package/lib/openapi/organizations/services/DirectoryService.d.ts +637 -0
  46. package/lib/openapi/organizations/services/DirectoryService.js +599 -0
  47. package/lib/openapi/organizations/services/DirectoryService.js.map +1 -0
  48. package/lib/openapi/organizations/services/DomainsService.d.ts +51 -0
  49. package/lib/openapi/organizations/services/DomainsService.js +89 -0
  50. package/lib/openapi/organizations/services/DomainsService.js.map +1 -0
  51. package/lib/openapi/organizations/services/EventsService.d.ts +142 -0
  52. package/lib/openapi/organizations/services/EventsService.js +187 -0
  53. package/lib/openapi/organizations/services/EventsService.js.map +1 -0
  54. package/lib/openapi/organizations/services/GroupsService.d.ts +268 -0
  55. package/lib/openapi/organizations/services/GroupsService.js +210 -0
  56. package/lib/openapi/organizations/services/GroupsService.js.map +1 -0
  57. package/lib/openapi/organizations/services/OrgsService.d.ts +38 -0
  58. package/lib/openapi/organizations/services/OrgsService.js +79 -0
  59. package/lib/openapi/organizations/services/OrgsService.js.map +1 -0
  60. package/lib/openapi/organizations/services/PoliciesService.d.ts +172 -0
  61. package/lib/openapi/organizations/services/PoliciesService.js +272 -0
  62. package/lib/openapi/organizations/services/PoliciesService.js.map +1 -0
  63. package/lib/openapi/organizations/services/UsersService.d.ts +310 -0
  64. package/lib/openapi/organizations/services/UsersService.js +214 -0
  65. package/lib/openapi/organizations/services/UsersService.js.map +1 -0
  66. package/lib/openapi/organizations/services/ValidateService.d.ts +25 -0
  67. package/lib/openapi/organizations/services/ValidateService.js +38 -0
  68. package/lib/openapi/organizations/services/ValidateService.js.map +1 -0
  69. package/lib/openapi/organizations/services/WorkspacesService.d.ts +78 -0
  70. package/lib/openapi/organizations/services/WorkspacesService.js +63 -0
  71. package/lib/openapi/organizations/services/WorkspacesService.js.map +1 -0
  72. package/lib/openapi/organizations/validationSchemaStorage.d.ts +3 -0
  73. package/lib/openapi/organizations/validationSchemaStorage.js +134 -0
  74. package/lib/openapi/organizations/validationSchemaStorage.js.map +1 -0
  75. package/package.json +47 -0
@@ -0,0 +1,639 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.CommonHttpClient = exports.createClientWithServices = exports.discardResult = exports.castResponse = exports.getBody = exports.asCreatedResponse = exports.isJsonMediaType = exports.checkReponseMediaType = exports.CommonHttpClientError = void 0;
24
+ /** Error thrown by the common HTTP client. */
25
+ class CommonHttpClientError extends Error {
26
+ constructor(url, request, response, options, message) {
27
+ super(message);
28
+ this.name = 'OpenApiClientError';
29
+ this.url = url;
30
+ this.request = request;
31
+ this.response = response;
32
+ this.options = options;
33
+ }
34
+ }
35
+ exports.CommonHttpClientError = CommonHttpClientError;
36
+ const jsonContentTypeRegExp = /^application\/(\w+\+)?json/;
37
+ function readableStreamToBlob(stream) {
38
+ const chunks = [];
39
+ const reader = stream.getReader();
40
+ return new Promise((resolve, reject) => {
41
+ reader.read().then(function process({ done, value }) {
42
+ if (value) {
43
+ chunks.push(value);
44
+ }
45
+ if (done) {
46
+ resolve(new Blob(chunks));
47
+ return;
48
+ }
49
+ reader.read().then(process, reject);
50
+ }, reject);
51
+ });
52
+ }
53
+ /**
54
+ * Convert the response body to the desired type.
55
+ */
56
+ function convertResponseBody(body, destType) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ if (body.type === destType) {
59
+ return body;
60
+ }
61
+ if (body.type === 'json') {
62
+ const blob = new Blob([JSON.stringify(body.data)]);
63
+ if (destType === 'blob') {
64
+ return {
65
+ type: 'blob',
66
+ data: blob
67
+ };
68
+ }
69
+ else if (destType === 'readableStream') {
70
+ return {
71
+ type: 'readableStream',
72
+ data: blob.stream()
73
+ };
74
+ }
75
+ else {
76
+ throw new Error('Invalid destination type.');
77
+ }
78
+ }
79
+ if (body.type === 'blob') {
80
+ if (destType === 'json') {
81
+ return {
82
+ type: 'json',
83
+ data: JSON.parse(yield body.data.text())
84
+ };
85
+ }
86
+ else if (destType === 'readableStream') {
87
+ return {
88
+ type: 'readableStream',
89
+ data: body.data.stream()
90
+ };
91
+ }
92
+ else {
93
+ throw new Error('Invalid destination type.');
94
+ }
95
+ }
96
+ if (body.type === 'readableStream') {
97
+ if (destType === 'json') {
98
+ return {
99
+ type: 'json',
100
+ data: JSON.parse(yield (yield readableStreamToBlob(body.data)).text())
101
+ };
102
+ }
103
+ else if (destType === 'blob') {
104
+ return {
105
+ type: 'blob',
106
+ data: yield readableStreamToBlob(body.data)
107
+ };
108
+ }
109
+ else {
110
+ throw new Error('Invalid destination type.');
111
+ }
112
+ }
113
+ throw new Error('Invalid response body type.');
114
+ });
115
+ }
116
+ function checkReponseMediaType(response, mediaType) {
117
+ return response.mediaType === mediaType;
118
+ }
119
+ exports.checkReponseMediaType = checkReponseMediaType;
120
+ function isJsonMediaType(mediaType) {
121
+ return Boolean(mediaType.match(jsonContentTypeRegExp));
122
+ }
123
+ exports.isJsonMediaType = isJsonMediaType;
124
+ function asCreatedResponse(...keys) {
125
+ var _a;
126
+ const keyCreated = keys[0];
127
+ const keyOther = (_a = keys[1]) !== null && _a !== void 0 ? _a : keyCreated;
128
+ return (response) => {
129
+ if (response.status === 201) {
130
+ return {
131
+ created: true,
132
+ [keyCreated]: response.body
133
+ };
134
+ }
135
+ else {
136
+ return {
137
+ created: false,
138
+ [keyOther]: response.body
139
+ };
140
+ }
141
+ };
142
+ }
143
+ exports.asCreatedResponse = asCreatedResponse;
144
+ const getBody = ({ body }) => body;
145
+ exports.getBody = getBody;
146
+ const castResponse = () => (response) => response;
147
+ exports.castResponse = castResponse;
148
+ const discardResult = () => { };
149
+ exports.discardResult = discardResult;
150
+ function createClientWithServices(services, options) {
151
+ const client = new this(options);
152
+ const extension = {};
153
+ for (const serviceName in services) {
154
+ if (Object.prototype.hasOwnProperty.call(services, serviceName)) {
155
+ extension[serviceName.replace(/[^\b]Service$/, '').replace(/^\w/, s => s.toLowerCase())] = new services[serviceName](client.getClient());
156
+ }
157
+ }
158
+ return Object.assign(client, extension);
159
+ }
160
+ exports.createClientWithServices = createClientWithServices;
161
+ function getErrorMessage(e) {
162
+ return e instanceof Error ? e.message : String(e);
163
+ }
164
+ function parameterHasValue(value) {
165
+ return value !== null && value !== undefined && (!Array.isArray(value) || value.length > 0) && (typeof value !== 'object' || Object.keys(value).length > 0);
166
+ }
167
+ function parameterFormattedParameterToString({ pairs, pairSeparator = '', keyValueSeparator = '' }) {
168
+ return pairs.map(({ key, value }) => key !== undefined ? `${key}${keyValueSeparator}${value}` : value).join(pairSeparator);
169
+ }
170
+ const formatParameter = {
171
+ simple(_key, value, explode) {
172
+ if (!parameterHasValue(value)) {
173
+ return {
174
+ pairs: []
175
+ };
176
+ }
177
+ if (Array.isArray(value)) {
178
+ return {
179
+ pairs: [{
180
+ value: value.join(',')
181
+ }]
182
+ };
183
+ }
184
+ if (typeof value === 'object' && value !== null) {
185
+ return {
186
+ pairs: [{
187
+ value: Object.entries(value).map(([key, val]) => `${key}${explode ? '=' : ','}${val}`).join(',')
188
+ }]
189
+ };
190
+ }
191
+ return {
192
+ pairs: [{
193
+ value: String(value)
194
+ }]
195
+ };
196
+ },
197
+ label(_key, value, explode) {
198
+ if (!parameterHasValue(value)) {
199
+ return {
200
+ pairs: [{
201
+ value: '.'
202
+ }]
203
+ };
204
+ }
205
+ if (Array.isArray(value)) {
206
+ return {
207
+ pairs: [{
208
+ value: '.' + value.join('.')
209
+ }]
210
+ };
211
+ }
212
+ if (typeof value === 'object' && value !== null) {
213
+ return {
214
+ pairs: [{
215
+ value: Object.entries(value).map(([key, val]) => `.${key}${explode ? '=' : '.'}${val}`).join('')
216
+ }]
217
+ };
218
+ }
219
+ return {
220
+ pairs: [{
221
+ value: '.' + String(value)
222
+ }]
223
+ };
224
+ },
225
+ matrix(key, value, explode) {
226
+ if (!parameterHasValue(value)) {
227
+ return {
228
+ pairs: [{
229
+ value: `;${key}`
230
+ }]
231
+ };
232
+ }
233
+ if (Array.isArray(value)) {
234
+ return {
235
+ pairs: [{
236
+ value: explode ? value.map(val => `;${key}=${val}`).join('') : `;${key}=${value.join(',')}`
237
+ }]
238
+ };
239
+ }
240
+ if (typeof value === 'object') {
241
+ return {
242
+ pairs: [{
243
+ value: explode ? Object.entries(value).map(([subKey, subValue]) => `;${subKey}=${subValue}`).join('') : `;${key}=${Object.entries(value).map(([subKey, subValue]) => `${subKey},${subValue}`).join(',')}`
244
+ }]
245
+ };
246
+ }
247
+ return {
248
+ pairs: [{
249
+ value: `;${key}=${String(value)}`
250
+ }]
251
+ };
252
+ },
253
+ form(key, value, explode) {
254
+ if (!parameterHasValue(value)) {
255
+ return {
256
+ pairs: []
257
+ };
258
+ }
259
+ if (Array.isArray(value)) {
260
+ return {
261
+ pairs: explode ? value.map(val => ({
262
+ key,
263
+ value: String(val)
264
+ })) : [{
265
+ key,
266
+ value: value.join(',')
267
+ }],
268
+ pairSeparator: '&',
269
+ keyValueSeparator: '='
270
+ };
271
+ }
272
+ if (typeof value === 'object') {
273
+ return {
274
+ pairs: explode ? Object.entries(value).map(([subKey, subValue]) => ({
275
+ key: subKey,
276
+ value: String(subValue)
277
+ })) : [{
278
+ key,
279
+ value: Object.entries(value).map(([subKey, subValue]) => `${subKey},${subValue}`).join(',')
280
+ }],
281
+ pairSeparator: '&',
282
+ keyValueSeparator: '='
283
+ };
284
+ }
285
+ return {
286
+ pairs: [{
287
+ key,
288
+ value: String(value)
289
+ }]
290
+ };
291
+ },
292
+ spaceDelimited(key, value) {
293
+ if (!parameterHasValue(value)) {
294
+ return {
295
+ pairs: []
296
+ };
297
+ }
298
+ if (Array.isArray(value)) {
299
+ return {
300
+ pairs: [{
301
+ key,
302
+ value: value.join(' ')
303
+ }]
304
+ };
305
+ }
306
+ if (typeof value === 'object') {
307
+ return {
308
+ pairs: [{
309
+ key,
310
+ value: Object.entries(value).map(([subKey, subValue]) => `${subKey} ${subValue}`).join(' ')
311
+ }]
312
+ };
313
+ }
314
+ return {
315
+ pairs: [{
316
+ key,
317
+ value: String(value)
318
+ }]
319
+ };
320
+ },
321
+ pipeDelimited(key, value) {
322
+ if (!parameterHasValue(value)) {
323
+ return {
324
+ pairs: []
325
+ };
326
+ }
327
+ if (Array.isArray(value)) {
328
+ return {
329
+ pairs: [{
330
+ key,
331
+ value: value.join('|')
332
+ }]
333
+ };
334
+ }
335
+ if (typeof value === 'object') {
336
+ return {
337
+ pairs: [{
338
+ key,
339
+ value: Object.entries(value).map(([subKey, subValue]) => `${subKey}|${subValue}`).join('|')
340
+ }]
341
+ };
342
+ }
343
+ return {
344
+ pairs: [{
345
+ key,
346
+ value: String(value)
347
+ }]
348
+ };
349
+ },
350
+ deepObject(key, value) {
351
+ if (typeof value === 'object' && !Array.isArray(value) && value !== null) {
352
+ return {
353
+ pairs: Object.entries(value).flatMap(([subKey, subValue]) => formatParameter.deepObject(`${key}[${subKey}]`, subValue, true).pairs),
354
+ pairSeparator: '&',
355
+ keyValueSeparator: '='
356
+ };
357
+ }
358
+ return {
359
+ pairs: [{
360
+ key,
361
+ value: String(value)
362
+ }]
363
+ };
364
+ }
365
+ };
366
+ /**
367
+ * Stores the deprecation warning state. For every shown deprecation warning, the method and path are stored in order to
368
+ * avoid showing the same warning appearing multiple times.
369
+ */
370
+ const deprecationWarningShown = {};
371
+ /** Common HTTP client. Configurable for different environments. */
372
+ class CommonHttpClient {
373
+ constructor(options) {
374
+ this.options = options;
375
+ }
376
+ /** Configure the client. */
377
+ setOptions(options) {
378
+ this.options = options;
379
+ }
380
+ /** Get the current configuration. */
381
+ getOptions() {
382
+ return this.options;
383
+ }
384
+ /** Logs a deprecation warning if the operation is deprecated. */
385
+ logDeprecationWarningIfNecessary(params) {
386
+ var _a;
387
+ const methodAndPath = `${params.method} ${params.path}`;
388
+ const operationName = (_a = this.options.deprecatedOperations) === null || _a === void 0 ? void 0 : _a[methodAndPath];
389
+ if (!operationName) {
390
+ return;
391
+ }
392
+ if (!deprecationWarningShown[methodAndPath]) {
393
+ deprecationWarningShown[methodAndPath] = true;
394
+ if (this.options.logDeprecationWarning) {
395
+ this.options.logDeprecationWarning({
396
+ method: params.method,
397
+ path: params.path,
398
+ operationName
399
+ });
400
+ }
401
+ else {
402
+ console.warn(`Deprecated API call ${this.options.apiClientClassName}.${operationName}: ${methodAndPath}`);
403
+ }
404
+ }
405
+ }
406
+ /** Turns an object with query params into a URLSearchParams object. */
407
+ getSearchParams(params, parameters) {
408
+ var _a;
409
+ const result = new URLSearchParams();
410
+ for (const [key, value] of Object.entries(params)) {
411
+ const { style = 'form', explode = style === 'form' } = (_a = parameters[key]) !== null && _a !== void 0 ? _a : {};
412
+ const { pairs } = formatParameter[style](key, value, explode);
413
+ for (const { key, value } of pairs) {
414
+ if (key !== undefined) {
415
+ result.append(key, value);
416
+ }
417
+ }
418
+ }
419
+ return result;
420
+ }
421
+ /** Build the URL path from the request by applying path params. */
422
+ buildUrlPath(request, parameters) {
423
+ const pathParams = request.pathParams;
424
+ if (pathParams) {
425
+ return request.path.replace(/\{(.*?)}/g, (original, paramName) => {
426
+ var _a;
427
+ if (Object.prototype.hasOwnProperty.call(pathParams, paramName)) {
428
+ const { style = 'simple', explode = false } = (_a = parameters[paramName]) !== null && _a !== void 0 ? _a : {};
429
+ return encodeURI(parameterFormattedParameterToString(formatParameter[style](paramName, pathParams[paramName], explode)));
430
+ }
431
+ return original;
432
+ });
433
+ }
434
+ return request.path;
435
+ }
436
+ /** Build the full URL from the request. */
437
+ buildUrl(request) {
438
+ var _a, _b, _c, _d;
439
+ const url = new URL(this.buildUrlPath(request, (_b = (_a = request.parameters) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : {}).replace(/^\//, ''), this.options.baseUrl.replace(/\/?$/, '/'));
440
+ if (request.query) {
441
+ for (const [key, value] of this.getSearchParams(request.query, (_d = (_c = request.parameters) === null || _c === void 0 ? void 0 : _c.query) !== null && _d !== void 0 ? _d : {})) {
442
+ url.searchParams.append(key, value);
443
+ }
444
+ }
445
+ return url;
446
+ }
447
+ /** Default fetch implementation. */
448
+ fetch(url, request) {
449
+ var _a;
450
+ return __awaiter(this, void 0, void 0, function* () {
451
+ const requestProps = __rest(request, []);
452
+ const requestInit = requestProps;
453
+ const response = yield fetch(url, requestInit);
454
+ const body = isJsonMediaType((_a = response.headers.get('content-type')) !== null && _a !== void 0 ? _a : '') ? {
455
+ type: 'json',
456
+ data: yield response.json()
457
+ } : {
458
+ type: 'blob',
459
+ data: yield response.blob()
460
+ };
461
+ const headers = {};
462
+ response.headers.forEach((value, key) => {
463
+ headers[key] = value;
464
+ });
465
+ if (response.headers.has('set-cookie') && 'getSetCookie' in response.headers) {
466
+ headers['set-cookie'] = response.headers.getSetCookie();
467
+ }
468
+ return {
469
+ status: response.status,
470
+ statusText: response.statusText,
471
+ body,
472
+ url: response.url,
473
+ headers,
474
+ ok: response.ok,
475
+ customRequestProps: request.customRequestProps
476
+ };
477
+ });
478
+ }
479
+ /** Perform a request. */
480
+ request(request) {
481
+ var _a, _b;
482
+ return __awaiter(this, void 0, void 0, function* () {
483
+ this.logDeprecationWarningIfNecessary(request);
484
+ try {
485
+ request = yield this.preprocessRequest(request);
486
+ }
487
+ catch (e) {
488
+ let url;
489
+ try {
490
+ url = this.buildUrl(request);
491
+ }
492
+ catch (e) {
493
+ throw new this.options.errorClass(new URL(request.path, this.options.baseUrl), undefined, undefined, this.options, `Error building request URL: ${getErrorMessage(e)}`);
494
+ }
495
+ throw new this.options.errorClass(url, undefined, undefined, this.options, `preprocessRequest error: ${getErrorMessage(e)}`);
496
+ }
497
+ let url;
498
+ try {
499
+ url = this.buildUrl(request);
500
+ }
501
+ catch (e) {
502
+ throw new this.options.errorClass(new URL(request.path, this.options.baseUrl), undefined, undefined, this.options, `Error building request URL: ${getErrorMessage(e)}`);
503
+ }
504
+ const { body, path: _path, pathParams: _pathParams, query: _query, headers: requestHeaders, cache, credentials, redirect } = request, otherRequestProps = __rest(request, ["body", "path", "pathParams", "query", "headers", "cache", "credentials", "redirect"]);
505
+ const headers = this.cleanupHeaders(requestHeaders);
506
+ const fetchRequest = Object.assign(Object.assign({}, otherRequestProps), { headers, cache: cache !== null && cache !== void 0 ? cache : 'default', credentials: credentials !== null && credentials !== void 0 ? credentials : 'same-origin', redirect: redirect !== null && redirect !== void 0 ? redirect : 'follow', body: this.getRequestBody(request) });
507
+ let attemptNumber = 1;
508
+ for (;;) {
509
+ try {
510
+ let fetchResponse;
511
+ try {
512
+ if (this.options.fetch) {
513
+ fetchResponse = yield this.options.fetch(url, fetchRequest);
514
+ }
515
+ else {
516
+ fetchResponse = yield this.fetch(url, fetchRequest);
517
+ }
518
+ }
519
+ catch (e) {
520
+ throw new this.options.errorClass(url, fetchRequest, undefined, this.options, getErrorMessage(e));
521
+ }
522
+ if (this.options.preprocessFetchResponse) {
523
+ try {
524
+ fetchResponse = yield this.options.preprocessFetchResponse(fetchResponse, fetchRequest);
525
+ }
526
+ catch (e) {
527
+ throw new this.options.errorClass(url, fetchRequest, fetchResponse, this.options, `preprocessFetchResponse error: ${getErrorMessage(e)}`);
528
+ }
529
+ }
530
+ if (!fetchResponse.ok) {
531
+ throw new this.options.errorClass(url, fetchRequest, fetchResponse, this.options, this.options.formatHttpErrorMessage ? this.options.formatHttpErrorMessage(fetchResponse, fetchRequest) : `HTTP Error ${request.method} ${url.toString()} ${fetchResponse.status} (${fetchResponse.statusText})`);
532
+ }
533
+ return fetchResponse;
534
+ }
535
+ catch (error) {
536
+ if (!(yield ((_b = (_a = this.options).shouldRetryOnError) === null || _b === void 0 ? void 0 : _b.call(_a, error, attemptNumber)))) {
537
+ throw error;
538
+ }
539
+ attemptNumber++;
540
+ }
541
+ }
542
+ });
543
+ }
544
+ /** Post-process the response. */
545
+ responseHandler(distribution) {
546
+ return (response) => __awaiter(this, void 0, void 0, function* () {
547
+ var _a;
548
+ const body = response.body;
549
+ const contentType = response.headers['content-type'];
550
+ const mediaType = contentType ? contentType.replace(/;.*$/, '') : undefined;
551
+ const mediaTypes = (_a = distribution[response.status]) !== null && _a !== void 0 ? _a : {};
552
+ let destType;
553
+ if (mediaType) {
554
+ destType = mediaTypes[mediaType];
555
+ if (!destType) {
556
+ destType = mediaTypes[mediaType.replace(/\/.*$/, '/*')];
557
+ }
558
+ if (!destType) {
559
+ destType = mediaTypes[mediaType.replace(/^.*\//, '*/')];
560
+ }
561
+ if (!destType) {
562
+ destType = mediaTypes['*/*'];
563
+ }
564
+ }
565
+ else {
566
+ destType = mediaTypes['*/*'];
567
+ }
568
+ if (!destType) {
569
+ let binaryBody;
570
+ try {
571
+ binaryBody = yield convertResponseBody(body, this.options.binaryResponseType);
572
+ }
573
+ catch (e) {
574
+ throw new this.options.errorClass(new URL(response.url), undefined, response, this.options, `Error converting response body: ${getErrorMessage(e)}`);
575
+ }
576
+ return {
577
+ mediaType,
578
+ status: response.status,
579
+ body: binaryBody,
580
+ response
581
+ };
582
+ }
583
+ try {
584
+ const convertedBody = yield convertResponseBody(body, destType);
585
+ return {
586
+ mediaType,
587
+ status: response.status,
588
+ body: convertedBody.data,
589
+ response
590
+ };
591
+ }
592
+ catch (e) {
593
+ throw new this.options.errorClass(new URL(response.url), undefined, response, this.options, `Error converting response body: ${getErrorMessage(e)}`);
594
+ }
595
+ });
596
+ }
597
+ validation(validator) {
598
+ const handleValidationError = this.options.handleValidationError;
599
+ if (!handleValidationError) {
600
+ return validator;
601
+ }
602
+ return (data) => {
603
+ try {
604
+ return validator(data);
605
+ }
606
+ catch (error) {
607
+ handleValidationError(error instanceof Error ? error : new Error(String(error)));
608
+ return data;
609
+ }
610
+ };
611
+ }
612
+ /** Remove undefined and null values from headers. */
613
+ cleanupHeaders(headers) {
614
+ if (headers === undefined) {
615
+ return {};
616
+ }
617
+ return Object.fromEntries(Object.entries(headers !== null && headers !== void 0 ? headers : {}).filter((header) => header[1] !== undefined && header[1] !== null).map(([key, value]) => [key.toLowerCase(), value]));
618
+ }
619
+ getRequestBody(request) {
620
+ var _a;
621
+ if (request.body === undefined) {
622
+ return undefined;
623
+ }
624
+ for (const [key, value] of Object.entries((_a = request.headers) !== null && _a !== void 0 ? _a : {})) {
625
+ if (key.toLowerCase() === 'content-type' && value && isJsonMediaType(value)) {
626
+ return JSON.stringify(request.body);
627
+ }
628
+ }
629
+ return request.body;
630
+ }
631
+ preprocessRequest(request) {
632
+ return __awaiter(this, void 0, void 0, function* () {
633
+ const requestWithHeaders = Object.assign(Object.assign({}, request), { headers: Object.assign(Object.assign({}, this.options.headers), this.cleanupHeaders(request.headers)) });
634
+ return this.options.preprocessRequest ? this.options.preprocessRequest(requestWithHeaders) : requestWithHeaders;
635
+ });
636
+ }
637
+ }
638
+ exports.CommonHttpClient = CommonHttpClient;
639
+ //# sourceMappingURL=CommonHttpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonHttpClient.js","sourceRoot":"","sources":["../../../src/openapi/core/CommonHttpClient.ts"],"names":[],"mappings":"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"}