@leonardo-ai/sdk 4.0.2 → 4.1.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.
- package/.speakeasy/gen.lock +7 -5
- package/README.md +0 -1
- package/hooks/hooks.d.ts +21 -0
- package/hooks/hooks.d.ts.map +1 -0
- package/hooks/hooks.js +57 -0
- package/hooks/hooks.js.map +1 -0
- package/hooks/index.d.ts +3 -0
- package/hooks/index.d.ts.map +1 -0
- package/hooks/index.js +22 -0
- package/hooks/index.js.map +1 -0
- package/hooks/registration.d.ts +3 -0
- package/hooks/registration.d.ts.map +1 -0
- package/hooks/registration.js +16 -0
- package/hooks/registration.js.map +1 -0
- package/hooks/types.d.ts +53 -0
- package/hooks/types.d.ts.map +1 -0
- package/hooks/types.js +6 -0
- package/hooks/types.js.map +1 -0
- package/lib/config.d.ts +3 -3
- package/lib/config.js +3 -3
- package/lib/retries.js +22 -1
- package/lib/retries.js.map +1 -1
- package/lib/sdks.d.ts +9 -1
- package/lib/sdks.d.ts.map +1 -1
- package/lib/sdks.js +20 -4
- package/lib/sdks.js.map +1 -1
- package/package.json +2 -3
- package/sdk/dataset.d.ts.map +1 -1
- package/sdk/dataset.js +49 -6
- package/sdk/dataset.js.map +1 -1
- package/sdk/element.d.ts.map +1 -1
- package/sdk/element.js +26 -2
- package/sdk/element.js.map +1 -1
- package/sdk/generation.d.ts.map +1 -1
- package/sdk/generation.js +61 -8
- package/sdk/generation.js.map +1 -1
- package/sdk/initimage.d.ts.map +1 -1
- package/sdk/initimage.js +35 -4
- package/sdk/initimage.js.map +1 -1
- package/sdk/model.d.ts.map +1 -1
- package/sdk/model.js +61 -7
- package/sdk/model.js.map +1 -1
- package/sdk/sdk.d.ts.map +1 -1
- package/sdk/sdk.js +14 -1
- package/sdk/sdk.js.map +1 -1
- package/sdk/user.d.ts.map +1 -1
- package/sdk/user.js +26 -2
- package/sdk/user.js.map +1 -1
- package/sdk/variation.d.ts.map +1 -1
- package/sdk/variation.js +42 -5
- package/sdk/variation.js.map +1 -1
- package/src/hooks/hooks.ts +85 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/registration.ts +14 -0
- package/src/hooks/types.ts +68 -0
- package/src/lib/config.ts +3 -3
- package/src/lib/retries.ts +23 -4
- package/src/lib/sdks.ts +33 -5
- package/src/sdk/dataset.ts +62 -11
- package/src/sdk/element.ts +32 -4
- package/src/sdk/generation.ts +77 -13
- package/src/sdk/initimage.ts +44 -7
- package/src/sdk/model.ts +77 -12
- package/src/sdk/sdk.ts +17 -2
- package/src/sdk/user.ts +32 -4
- package/src/sdk/variation.ts +53 -7
package/sdk/variation.js
CHANGED
|
@@ -27,6 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.Variation = void 0;
|
|
30
|
+
const hooks_1 = require("../hooks");
|
|
30
31
|
const config_1 = require("../lib/config");
|
|
31
32
|
const enc$ = __importStar(require("../lib/encodings"));
|
|
32
33
|
const http_1 = require("../lib/http");
|
|
@@ -35,11 +36,23 @@ const errors = __importStar(require("../sdk/models/errors"));
|
|
|
35
36
|
const operations = __importStar(require("../sdk/models/operations"));
|
|
36
37
|
class Variation extends sdks_1.ClientSDK {
|
|
37
38
|
constructor(options = {}) {
|
|
39
|
+
const opt = options;
|
|
40
|
+
let hooks;
|
|
41
|
+
if (typeof opt === "object" &&
|
|
42
|
+
opt != null &&
|
|
43
|
+
"hooks" in opt &&
|
|
44
|
+
opt.hooks instanceof hooks_1.SDKHooks) {
|
|
45
|
+
hooks = opt.hooks;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
hooks = new hooks_1.SDKHooks();
|
|
49
|
+
}
|
|
38
50
|
super({
|
|
39
51
|
client: options.httpClient || new http_1.HTTPClient(),
|
|
40
52
|
baseURL: (0, config_1.serverURLFromOptions)(options),
|
|
53
|
+
hooks,
|
|
41
54
|
});
|
|
42
|
-
this.options$ = options;
|
|
55
|
+
this.options$ = { ...options, hooks };
|
|
43
56
|
void this.options$;
|
|
44
57
|
}
|
|
45
58
|
/**
|
|
@@ -57,6 +70,7 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
57
70
|
const payload$ = operations.CreateVariationNoBGRequestBody$.outboundSchema.parse(input);
|
|
58
71
|
const body$ = enc$.encodeJSON("body", payload$, { explode: true });
|
|
59
72
|
const path$ = this.templateURLComponent("/variations/nobg")();
|
|
73
|
+
const query$ = "";
|
|
60
74
|
let security$;
|
|
61
75
|
if (typeof this.options$.bearerAuth === "function") {
|
|
62
76
|
security$ = { bearerAuth: await this.options$.bearerAuth() };
|
|
@@ -68,13 +82,18 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
68
82
|
security$ = {};
|
|
69
83
|
}
|
|
70
84
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
|
71
|
-
const
|
|
85
|
+
const context = { operationID: "createVariationNoBG" };
|
|
86
|
+
const doOptions = { context, errorCodes: [] };
|
|
87
|
+
const request = await this.createRequest$({
|
|
88
|
+
context,
|
|
72
89
|
security: securitySettings$,
|
|
73
90
|
method: "POST",
|
|
74
91
|
path: path$,
|
|
75
92
|
headers: headers$,
|
|
93
|
+
query: query$,
|
|
76
94
|
body: body$,
|
|
77
95
|
}, options);
|
|
96
|
+
const response = await this.do$(request, doOptions);
|
|
78
97
|
const responseFields$ = {
|
|
79
98
|
ContentType: (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "application/octet-stream",
|
|
80
99
|
StatusCode: response.status,
|
|
@@ -110,6 +129,7 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
110
129
|
.parse(input);
|
|
111
130
|
const body$ = payload$ === undefined ? null : enc$.encodeJSON("body", payload$, { explode: true });
|
|
112
131
|
const path$ = this.templateURLComponent("/variations/upscale")();
|
|
132
|
+
const query$ = "";
|
|
113
133
|
let security$;
|
|
114
134
|
if (typeof this.options$.bearerAuth === "function") {
|
|
115
135
|
security$ = { bearerAuth: await this.options$.bearerAuth() };
|
|
@@ -121,13 +141,18 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
121
141
|
security$ = {};
|
|
122
142
|
}
|
|
123
143
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
|
124
|
-
const
|
|
144
|
+
const context = { operationID: "createVariationUpscale" };
|
|
145
|
+
const doOptions = { context, errorCodes: [] };
|
|
146
|
+
const request = await this.createRequest$({
|
|
147
|
+
context,
|
|
125
148
|
security: securitySettings$,
|
|
126
149
|
method: "POST",
|
|
127
150
|
path: path$,
|
|
128
151
|
headers: headers$,
|
|
152
|
+
query: query$,
|
|
129
153
|
body: body$,
|
|
130
154
|
}, options);
|
|
155
|
+
const response = await this.do$(request, doOptions);
|
|
131
156
|
const responseFields$ = {
|
|
132
157
|
ContentType: (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "application/octet-stream",
|
|
133
158
|
StatusCode: response.status,
|
|
@@ -166,6 +191,7 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
166
191
|
id: enc$.encodeSimple("id", payload$.id, { explode: false, charEncoding: "percent" }),
|
|
167
192
|
};
|
|
168
193
|
const path$ = this.templateURLComponent("/variations/{id}")(pathParams$);
|
|
194
|
+
const query$ = "";
|
|
169
195
|
let security$;
|
|
170
196
|
if (typeof this.options$.bearerAuth === "function") {
|
|
171
197
|
security$ = { bearerAuth: await this.options$.bearerAuth() };
|
|
@@ -177,13 +203,18 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
177
203
|
security$ = {};
|
|
178
204
|
}
|
|
179
205
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
|
180
|
-
const
|
|
206
|
+
const context = { operationID: "getVariationById" };
|
|
207
|
+
const doOptions = { context, errorCodes: [] };
|
|
208
|
+
const request = await this.createRequest$({
|
|
209
|
+
context,
|
|
181
210
|
security: securitySettings$,
|
|
182
211
|
method: "GET",
|
|
183
212
|
path: path$,
|
|
184
213
|
headers: headers$,
|
|
214
|
+
query: query$,
|
|
185
215
|
body: body$,
|
|
186
216
|
}, options);
|
|
217
|
+
const response = await this.do$(request, doOptions);
|
|
187
218
|
const responseFields$ = {
|
|
188
219
|
ContentType: (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "application/octet-stream",
|
|
189
220
|
StatusCode: response.status,
|
|
@@ -219,6 +250,7 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
219
250
|
.parse(input);
|
|
220
251
|
const body$ = payload$ === undefined ? null : enc$.encodeJSON("body", payload$, { explode: true });
|
|
221
252
|
const path$ = this.templateURLComponent("/variations/unzoom")();
|
|
253
|
+
const query$ = "";
|
|
222
254
|
let security$;
|
|
223
255
|
if (typeof this.options$.bearerAuth === "function") {
|
|
224
256
|
security$ = { bearerAuth: await this.options$.bearerAuth() };
|
|
@@ -230,13 +262,18 @@ class Variation extends sdks_1.ClientSDK {
|
|
|
230
262
|
security$ = {};
|
|
231
263
|
}
|
|
232
264
|
const securitySettings$ = this.resolveGlobalSecurity(security$);
|
|
233
|
-
const
|
|
265
|
+
const context = { operationID: "post_/variations/unzoom" };
|
|
266
|
+
const doOptions = { context, errorCodes: [] };
|
|
267
|
+
const request = await this.createRequest$({
|
|
268
|
+
context,
|
|
234
269
|
security: securitySettings$,
|
|
235
270
|
method: "POST",
|
|
236
271
|
path: path$,
|
|
237
272
|
headers: headers$,
|
|
273
|
+
query: query$,
|
|
238
274
|
body: body$,
|
|
239
275
|
}, options);
|
|
276
|
+
const response = await this.do$(request, doOptions);
|
|
240
277
|
const responseFields$ = {
|
|
241
278
|
ContentType: (_a = response.headers.get("content-type")) !== null && _a !== void 0 ? _a : "application/octet-stream",
|
|
242
279
|
StatusCode: response.status,
|
package/sdk/variation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variation.js","sourceRoot":"","sources":["../src/sdk/variation.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0CAA+E;AAC/E,uDAAyC;AACzC,sCAAyC;AACzC,sCAAwD;AACxD,6DAA+C;AAC/C,qEAAuD;AAEvD,MAAa,SAAU,SAAQ,gBAAS;IAGpC,YAAY,UAAsB,EAAE;QAChC,KAAK,CAAC;YACF,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,iBAAU,EAAE;YAC9C,OAAO,EAAE,IAAA,6BAAoB,EAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"variation.js","sourceRoot":"","sources":["../src/sdk/variation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
AfterErrorContext,
|
|
7
|
+
AfterErrorHook,
|
|
8
|
+
AfterSuccessContext,
|
|
9
|
+
AfterSuccessHook,
|
|
10
|
+
BeforeRequestContext,
|
|
11
|
+
BeforeRequestHook,
|
|
12
|
+
ClientInitHook,
|
|
13
|
+
Hooks,
|
|
14
|
+
} from "./types";
|
|
15
|
+
|
|
16
|
+
import { HTTPClient } from "../lib/http";
|
|
17
|
+
import { initHooks } from "./registration";
|
|
18
|
+
|
|
19
|
+
export class SDKHooks implements Hooks {
|
|
20
|
+
clientInitHooks: ClientInitHook[] = [];
|
|
21
|
+
beforeRequestHooks: BeforeRequestHook[] = [];
|
|
22
|
+
afterSuccessHooks: AfterSuccessHook[] = [];
|
|
23
|
+
afterErrorHooks: AfterErrorHook[] = [];
|
|
24
|
+
|
|
25
|
+
constructor() {
|
|
26
|
+
initHooks(this);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
registerClientInitHook(hook: ClientInitHook) {
|
|
30
|
+
this.clientInitHooks.push(hook);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
registerBeforeRequestHook(hook: BeforeRequestHook) {
|
|
34
|
+
this.beforeRequestHooks.push(hook);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
registerAfterSuccessHook(hook: AfterSuccessHook) {
|
|
38
|
+
this.afterSuccessHooks.push(hook);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
registerAfterErrorHook(hook: AfterErrorHook) {
|
|
42
|
+
this.afterErrorHooks.push(hook);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
clientInit(client: HTTPClient): HTTPClient {
|
|
46
|
+
return this.clientInitHooks.reduce((client, hook) => hook.clientInit(client), client);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async beforeRequest(hookCtx: BeforeRequestContext, request: Request): Promise<Request> {
|
|
50
|
+
let req = request;
|
|
51
|
+
|
|
52
|
+
for (const hook of this.beforeRequestHooks) {
|
|
53
|
+
req = await hook.beforeRequest(hookCtx, req);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return req;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async afterSuccess(hookCtx: AfterSuccessContext, response: Response): Promise<Response> {
|
|
60
|
+
let res = response;
|
|
61
|
+
|
|
62
|
+
for (const hook of this.afterSuccessHooks) {
|
|
63
|
+
res = await hook.afterSuccess(hookCtx, res);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return res;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async afterError(
|
|
70
|
+
hookCtx: AfterErrorContext,
|
|
71
|
+
response: Response | null,
|
|
72
|
+
error: unknown
|
|
73
|
+
): Promise<{ response: Response | null; error: unknown }> {
|
|
74
|
+
let res = response;
|
|
75
|
+
let err = error;
|
|
76
|
+
|
|
77
|
+
for (const hook of this.afterErrorHooks) {
|
|
78
|
+
const result = await hook.afterError(hookCtx, res, err);
|
|
79
|
+
res = result.response;
|
|
80
|
+
err = result.error;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return { response: res, error: err };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Hooks } from "./types";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* This file is only ever generated once on the first generation and then is free to be modified.
|
|
5
|
+
* Any hooks you wish to add should be registered in the initHooks function. Feel free to define them
|
|
6
|
+
* in this file or in separate files in the hooks folder.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
// @ts-expect-error remove this line when you add your first hook and hooks is used
|
|
10
|
+
export function initHooks(hooks: Hooks) {
|
|
11
|
+
// Add hooks by calling hooks.register{ClientInit/BeforeRequest/AfterRequest/AfterError}Hook
|
|
12
|
+
// with an instance of a hook that implements that specific Hook interface
|
|
13
|
+
// Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance
|
|
14
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { HTTPClient } from "../lib/http";
|
|
6
|
+
|
|
7
|
+
export type HookContext = {
|
|
8
|
+
operationID: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type Awaitable<T> = T | Promise<T>;
|
|
12
|
+
|
|
13
|
+
export type BeforeRequestContext = HookContext & {};
|
|
14
|
+
export type AfterSuccessContext = HookContext & {};
|
|
15
|
+
export type AfterErrorContext = HookContext & {};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* ClientInitHook is called when the SDK is initializing the HTTP client. The
|
|
19
|
+
* hook can return a new HTTP client to be used by the SDK.
|
|
20
|
+
*/
|
|
21
|
+
export interface ClientInitHook {
|
|
22
|
+
clientInit: (client: HTTPClient) => HTTPClient;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* BeforeRequestHook is called before the SDK sends a request. The hook can
|
|
27
|
+
* modify the request before it is sent or throw an error to stop the request
|
|
28
|
+
* from being sent.
|
|
29
|
+
*/
|
|
30
|
+
export interface BeforeRequestHook {
|
|
31
|
+
beforeRequest: (hookCtx: BeforeRequestContext, request: Request) => Awaitable<Request>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* AfterSuccessHook is called after the SDK receives a response. The hook can
|
|
36
|
+
* modify the response before it is handled or throw an error to stop the
|
|
37
|
+
* response from being handled.
|
|
38
|
+
*/
|
|
39
|
+
export interface AfterSuccessHook {
|
|
40
|
+
afterSuccess: (hookCtx: AfterSuccessContext, response: Response) => Awaitable<Response>;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* AfterErrorHook is called after the SDK encounters an error, or a
|
|
45
|
+
* non-successful response. The hook can modify the response if available
|
|
46
|
+
* otherwise modify the error.
|
|
47
|
+
*/
|
|
48
|
+
export interface AfterErrorHook {
|
|
49
|
+
afterError: (
|
|
50
|
+
hookCtx: AfterErrorContext,
|
|
51
|
+
response: Response | null,
|
|
52
|
+
error: unknown
|
|
53
|
+
) => Awaitable<{
|
|
54
|
+
response: Response | null;
|
|
55
|
+
error: unknown;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface Hooks {
|
|
60
|
+
/** Registers a hook to be used by the SDK for client initialization. */
|
|
61
|
+
registerClientInitHook(hook: ClientInitHook): void;
|
|
62
|
+
/** Registers a hook to be used by the SDK for the before request event. */
|
|
63
|
+
registerBeforeRequestHook(hook: BeforeRequestHook): void;
|
|
64
|
+
/** Registers a hook to be used by the SDK for the after success event. */
|
|
65
|
+
registerAfterSuccessHook(hook: AfterSuccessHook): void;
|
|
66
|
+
/** Registers a hook to be used by the SDK for the after error event. */
|
|
67
|
+
registerAfterErrorHook(hook: AfterErrorHook): void;
|
|
68
|
+
}
|
package/src/lib/config.ts
CHANGED
|
@@ -51,7 +51,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
51
51
|
export const SDK_METADATA = Object.freeze({
|
|
52
52
|
language: "typescript",
|
|
53
53
|
openapiDocVersion: "v1.0.0",
|
|
54
|
-
sdkVersion: "4.0
|
|
55
|
-
genVersion: "2.
|
|
56
|
-
userAgent: "speakeasy-sdk/typescript 4.0
|
|
54
|
+
sdkVersion: "4.1.0",
|
|
55
|
+
genVersion: "2.263.3",
|
|
56
|
+
userAgent: "speakeasy-sdk/typescript 4.1.0 2.263.3 v1.0.0 @leonardo-ai/sdk",
|
|
57
57
|
});
|
package/src/lib/retries.ts
CHANGED
|
@@ -191,10 +191,29 @@ async function retryBackoff(
|
|
|
191
191
|
throw err;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
194
|
+
let retryInterval = 0;
|
|
195
|
+
if (err instanceof TemporaryError && err.res && err.res.headers) {
|
|
196
|
+
const retryVal = err.res.headers.get("retry-after") || "";
|
|
197
|
+
if (retryVal != "") {
|
|
198
|
+
const parsedNumber = Number(retryVal);
|
|
199
|
+
if (!isNaN(parsedNumber) && Number.isInteger(parsedNumber)) {
|
|
200
|
+
retryInterval = parsedNumber * 1000;
|
|
201
|
+
} else {
|
|
202
|
+
const parsedDate = Date.parse(retryVal);
|
|
203
|
+
if (!isNaN(parsedDate)) {
|
|
204
|
+
const deltaMS = parsedDate - Date.now();
|
|
205
|
+
retryInterval = deltaMS > 0 ? Math.ceil(deltaMS) : 0;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
if (retryInterval == 0) {
|
|
212
|
+
retryInterval =
|
|
213
|
+
initialInterval * Math.pow(x, exponent) + Math.random() * 1000;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const d = Math.min(retryInterval, maxInterval);
|
|
198
217
|
|
|
199
218
|
await delay(d);
|
|
200
219
|
x++;
|
package/src/lib/sdks.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { SecurityState, resolveSecurity, resolveGlobalSecurity } from "./securit
|
|
|
7
7
|
import { pathToFunc } from "./url";
|
|
8
8
|
import { encodeForm } from "./encodings";
|
|
9
9
|
import { stringToBase64 } from "./base64";
|
|
10
|
+
import { SDKHooks, HookContext } from "../hooks";
|
|
10
11
|
|
|
11
12
|
export type RequestOptions = {
|
|
12
13
|
fetchOptions?: Omit<RequestInit, "method" | "body">;
|
|
@@ -15,6 +16,7 @@ export type RequestOptions = {
|
|
|
15
16
|
type RequestConfig = {
|
|
16
17
|
method: string;
|
|
17
18
|
path: string;
|
|
19
|
+
context: HookContext;
|
|
18
20
|
baseURL?: string | URL;
|
|
19
21
|
query?: string;
|
|
20
22
|
body?: RequestInit["body"];
|
|
@@ -25,19 +27,21 @@ type RequestConfig = {
|
|
|
25
27
|
export class ClientSDK {
|
|
26
28
|
private readonly client: HTTPClient;
|
|
27
29
|
protected readonly baseURL: URL | null;
|
|
30
|
+
protected readonly hooks$: SDKHooks;
|
|
28
31
|
|
|
29
|
-
constructor(init: { client: HTTPClient; baseURL: URL | null }) {
|
|
32
|
+
constructor(init: { client: HTTPClient; baseURL: URL | null; hooks: SDKHooks }) {
|
|
30
33
|
const url = init.baseURL;
|
|
31
34
|
if (url) {
|
|
32
35
|
url.pathname = url.pathname.replace(/\/+$/, "") + "/";
|
|
33
36
|
}
|
|
34
37
|
|
|
35
|
-
this.
|
|
38
|
+
this.hooks$ = init.hooks;
|
|
39
|
+
this.client = this.hooks$.clientInit(init.client);
|
|
36
40
|
this.baseURL = url;
|
|
37
41
|
}
|
|
38
42
|
|
|
39
|
-
protected async
|
|
40
|
-
const { method, path, query, headers: opHeaders, security } = conf;
|
|
43
|
+
protected async createRequest$(conf: RequestConfig, options?: RequestOptions) {
|
|
44
|
+
const { context, method, path, query, headers: opHeaders, security } = conf;
|
|
41
45
|
|
|
42
46
|
const base = conf.baseURL ?? this.baseURL;
|
|
43
47
|
if (!base) {
|
|
@@ -98,7 +102,31 @@ export class ClientSDK {
|
|
|
98
102
|
method,
|
|
99
103
|
});
|
|
100
104
|
|
|
101
|
-
return this.
|
|
105
|
+
return this.hooks$.beforeRequest(context, req);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
protected async do$(
|
|
109
|
+
req: Request,
|
|
110
|
+
options: {
|
|
111
|
+
context: HookContext;
|
|
112
|
+
errorCodes: number | string | (number | string)[];
|
|
113
|
+
}
|
|
114
|
+
) {
|
|
115
|
+
const { context, errorCodes } = options;
|
|
116
|
+
|
|
117
|
+
let response = await this.client.request(req);
|
|
118
|
+
|
|
119
|
+
if (this.matchStatusCode(response, errorCodes)) {
|
|
120
|
+
const result = await this.hooks$.afterError(context, response, null);
|
|
121
|
+
if (result.error) {
|
|
122
|
+
throw result.error;
|
|
123
|
+
}
|
|
124
|
+
response = result.response || response;
|
|
125
|
+
} else {
|
|
126
|
+
response = await this.hooks$.afterSuccess(context, response);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return response;
|
|
102
130
|
}
|
|
103
131
|
|
|
104
132
|
protected unpackHeaders = unpackHeaders;
|