@sdkgen/node-runtime 0.0.0-dev.20230110171718 → 0.0.0-dev.20230120140203
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/dist/spec/error.spec.js +4 -3
- package/dist/spec/rest/rest.spec.js +24 -24
- package/dist/spec/runtime/errors.spec.js +14 -15
- package/dist/spec/runtime/middleware.spec.js +14 -15
- package/dist/spec/simple/legacyNodeClient.js +32 -6
- package/dist/spec/simple/simple.spec.js +28 -27
- package/dist/spec/types.js +28 -27
- package/dist/spec/types.spec.js +55 -54
- package/dist/src/api-config.d.ts +4 -3
- package/dist/src/api-config.js +8 -4
- package/dist/src/context.d.ts +3 -3
- package/dist/src/context.js +2 -2
- package/dist/src/encode-decode.d.ts +2 -2
- package/dist/src/encode-decode.js +50 -12
- package/dist/src/error.js +9 -4
- package/dist/src/execute.d.ts +2 -2
- package/dist/src/execute.js +14 -12
- package/dist/src/http-client.d.ts +3 -3
- package/dist/src/http-client.js +27 -25
- package/dist/src/http-server.d.ts +3 -3
- package/dist/src/http-server.js +182 -168
- package/dist/src/index.d.ts +7 -11
- package/dist/src/index.js +18 -8
- package/dist/src/swagger.d.ts +1 -1
- package/dist/src/swagger.js +159 -146
- package/dist/src/test-wrapper.d.ts +2 -2
- package/dist/src/test-wrapper.js +23 -25
- package/dist/src/utils.js +5 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +22 -26
- package/dist/src/new-interface.d.ts +0 -156
- package/dist/src/new-interface.js +0 -200
package/dist/src/execute.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeRequest = void 0;
|
|
4
|
+
const parser_1 = require("@sdkgen/parser");
|
|
5
|
+
const encode_decode_1 = require("./encode-decode");
|
|
6
|
+
const error_1 = require("./error");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
async function executeRequest(ctx, apiConfig) {
|
|
6
9
|
// eslint-disable-next-line func-style
|
|
7
10
|
let next = async () => {
|
|
8
11
|
try {
|
|
9
12
|
const functionDescription = apiConfig.astJson.functionTable[ctx.request.name];
|
|
10
13
|
const functionImplementation = apiConfig.fn[ctx.request.name];
|
|
11
14
|
if (!functionDescription || !functionImplementation) {
|
|
12
|
-
throw new Fatal(`Function does not exist: ${ctx.request.name}`);
|
|
15
|
+
throw new error_1.Fatal(`Function does not exist: ${ctx.request.name}`);
|
|
13
16
|
}
|
|
14
|
-
const args = decode(apiConfig.astJson.typeTable, `${ctx.request.name}.args`, functionDescription.args, ctx.request.args);
|
|
17
|
+
const args = (0, encode_decode_1.decode)(apiConfig.astJson.typeTable, `${ctx.request.name}.args`, functionDescription.args, ctx.request.args);
|
|
15
18
|
const ret = (await functionImplementation(ctx, args));
|
|
16
|
-
const encodedRet = encode(apiConfig.astJson.typeTable, `${ctx.request.name}.ret`, functionDescription.ret, ret);
|
|
19
|
+
const encodedRet = (0, encode_decode_1.encode)(apiConfig.astJson.typeTable, `${ctx.request.name}.ret`, functionDescription.ret, ret);
|
|
17
20
|
return { result: encodedRet };
|
|
18
21
|
}
|
|
19
22
|
catch (error) {
|
|
@@ -37,11 +40,10 @@ export async function executeRequest(ctx, apiConfig) {
|
|
|
37
40
|
if (reply.error) {
|
|
38
41
|
const functionAst = apiConfig.ast.operations.find(op => op.name === ctx.request.name);
|
|
39
42
|
if (functionAst) {
|
|
40
|
-
const allowedErrors = functionAst.annotations.filter(ann => ann instanceof ThrowsAnnotation).map(ann => ann.error);
|
|
43
|
+
const allowedErrors = functionAst.annotations.filter(ann => ann instanceof parser_1.ThrowsAnnotation).map(ann => ann.error);
|
|
41
44
|
if (typeof reply.error !== "object" ||
|
|
42
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
43
45
|
reply.error === null ||
|
|
44
|
-
!has(reply.error, "type") ||
|
|
46
|
+
!(0, utils_1.has)(reply.error, "type") ||
|
|
45
47
|
typeof reply.error.type !== "string" ||
|
|
46
48
|
(allowedErrors.length > 0 && !allowedErrors.includes(reply.error.type)) ||
|
|
47
49
|
!apiConfig.astJson.errors.map(error => (typeof error === "string" ? error : error[0])).includes(reply.error.type)) {
|
|
@@ -51,4 +53,4 @@ export async function executeRequest(ctx, apiConfig) {
|
|
|
51
53
|
}
|
|
52
54
|
return reply;
|
|
53
55
|
}
|
|
54
|
-
|
|
56
|
+
exports.executeRequest = executeRequest;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AstJson } from "@sdkgen/parser";
|
|
2
2
|
import type { PartialDeep } from "type-fest";
|
|
3
|
-
import type { Context } from "./context
|
|
4
|
-
import type { SdkgenError, SdkgenErrorWithData } from "./error
|
|
5
|
-
import type { DeepReadonly } from "./utils
|
|
3
|
+
import type { Context } from "./context";
|
|
4
|
+
import type { SdkgenError, SdkgenErrorWithData } from "./error";
|
|
5
|
+
import type { DeepReadonly } from "./utils";
|
|
6
6
|
interface ErrClasses {
|
|
7
7
|
[className: string]: (new (message: string, data: any) => SdkgenErrorWithData<any>) | (new (message: string) => SdkgenError) | undefined;
|
|
8
8
|
}
|
package/dist/src/http-client.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SdkgenHttpClient = void 0;
|
|
1
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
5
|
/* eslint-disable prefer-promise-reject-errors */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const crypto_1 = require("crypto");
|
|
7
|
+
const http_1 = require("http");
|
|
8
|
+
const https_1 = require("https");
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
const url_1 = require("url");
|
|
11
|
+
const encode_decode_1 = require("./encode-decode");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
class SdkgenHttpClient {
|
|
11
14
|
constructor(baseUrl, astJson, errClasses) {
|
|
12
15
|
this.astJson = astJson;
|
|
13
16
|
this.errClasses = errClasses;
|
|
14
17
|
this.extra = new Map();
|
|
15
|
-
this.baseUrl = new URL(baseUrl);
|
|
18
|
+
this.baseUrl = new url_1.URL(baseUrl);
|
|
16
19
|
}
|
|
17
20
|
async makeRequest(ctx, functionName, args) {
|
|
21
|
+
var _a, _b, _c, _d;
|
|
18
22
|
const func = this.astJson.functionTable[functionName];
|
|
19
23
|
if (!func) {
|
|
20
24
|
throw new Error(`Unknown function ${functionName}`);
|
|
@@ -24,14 +28,11 @@ export class SdkgenHttpClient {
|
|
|
24
28
|
extra[key] = value;
|
|
25
29
|
}
|
|
26
30
|
const requestBody = JSON.stringify({
|
|
27
|
-
args: encode(this.astJson.typeTable, `${functionName}.args`, func.args, args),
|
|
28
|
-
deviceInfo: ctx
|
|
29
|
-
extra: {
|
|
30
|
-
...extra,
|
|
31
|
-
...ctx?.request?.extra,
|
|
32
|
-
},
|
|
31
|
+
args: (0, encode_decode_1.encode)(this.astJson.typeTable, `${functionName}.args`, func.args, args),
|
|
32
|
+
deviceInfo: (_b = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.request) === null || _a === void 0 ? void 0 : _a.deviceInfo) !== null && _b !== void 0 ? _b : { id: (0, os_1.hostname)(), type: "node" },
|
|
33
|
+
extra: Object.assign(Object.assign({}, extra), (_c = ctx === null || ctx === void 0 ? void 0 : ctx.request) === null || _c === void 0 ? void 0 : _c.extra),
|
|
33
34
|
name: functionName,
|
|
34
|
-
requestId: ctx
|
|
35
|
+
requestId: ((_d = ctx === null || ctx === void 0 ? void 0 : ctx.request) === null || _d === void 0 ? void 0 : _d.id) ? ctx.request.id + (0, crypto_1.randomBytes)(6).toString("hex") : (0, crypto_1.randomBytes)(16).toString("hex"),
|
|
35
36
|
version: 3,
|
|
36
37
|
});
|
|
37
38
|
const options = {
|
|
@@ -44,7 +45,7 @@ export class SdkgenHttpClient {
|
|
|
44
45
|
},
|
|
45
46
|
};
|
|
46
47
|
const encodedRet = await new Promise((resolve, reject) => {
|
|
47
|
-
const req = (this.baseUrl.protocol === "http:" ?
|
|
48
|
+
const req = (this.baseUrl.protocol === "http:" ? http_1.request : https_1.request)(options, res => {
|
|
48
49
|
let data = "";
|
|
49
50
|
res.on("data", chunk => {
|
|
50
51
|
data += chunk;
|
|
@@ -52,11 +53,11 @@ export class SdkgenHttpClient {
|
|
|
52
53
|
res.on("end", () => {
|
|
53
54
|
try {
|
|
54
55
|
const response = JSON.parse(data);
|
|
55
|
-
if (has(response, "error") && response.error) {
|
|
56
|
+
if ((0, utils_1.has)(response, "error") && response.error) {
|
|
56
57
|
reject(response.error);
|
|
57
58
|
}
|
|
58
59
|
else {
|
|
59
|
-
resolve(has(response, "result") ? response.result : null);
|
|
60
|
+
resolve((0, utils_1.has)(response, "result") ? response.result : null);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
catch (error) {
|
|
@@ -76,14 +77,15 @@ export class SdkgenHttpClient {
|
|
|
76
77
|
req.write(requestBody);
|
|
77
78
|
req.end();
|
|
78
79
|
}).catch((error) => {
|
|
79
|
-
|
|
80
|
+
var _a;
|
|
81
|
+
if ((0, utils_1.has)(error, "type") && (0, utils_1.has)(error, "message") && typeof error.type === "string" && typeof error.message === "string") {
|
|
80
82
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
81
|
-
const errClass = this.errClasses[error.type]
|
|
83
|
+
const errClass = (_a = this.errClasses[error.type]) !== null && _a !== void 0 ? _a : this.errClasses.Fatal;
|
|
82
84
|
const errType = errClass.name;
|
|
83
85
|
const errorJson = this.astJson.errors.find(err => (Array.isArray(err) ? err[0] === errType : err === errType));
|
|
84
86
|
let newError;
|
|
85
|
-
if (errorJson && Array.isArray(errorJson) && has(error, "data")) {
|
|
86
|
-
newError = new errClass(error.message, decode(this.astJson.typeTable, `${errClass.name}.data`, errorJson[1], error.data));
|
|
87
|
+
if (errorJson && Array.isArray(errorJson) && (0, utils_1.has)(error, "data")) {
|
|
88
|
+
newError = new errClass(error.message, (0, encode_decode_1.decode)(this.astJson.typeTable, `${errClass.name}.data`, errorJson[1], error.data));
|
|
87
89
|
}
|
|
88
90
|
else {
|
|
89
91
|
newError = new errClass(error.message, undefined);
|
|
@@ -97,7 +99,7 @@ export class SdkgenHttpClient {
|
|
|
97
99
|
throw error;
|
|
98
100
|
}
|
|
99
101
|
});
|
|
100
|
-
return decode(this.astJson.typeTable, `${functionName}.ret`, func.ret, encodedRet);
|
|
102
|
+
return (0, encode_decode_1.decode)(this.astJson.typeTable, `${functionName}.ret`, func.ret, encodedRet);
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQztBQU0xQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNakMsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUFZLE9BQWUsRUFBVSxPQUE4QixFQUFVLFVBQXNCO1FBQTlELFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZuRyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFHakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFnQyxFQUFFLFlBQW9CLEVBQUUsSUFBYTtRQUNyRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUNyRDtRQUVELE1BQU0sS0FBSyxHQUE0QixF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QUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBRS9HLElBQUksUUFBUSxDQUFDO2dCQUViLElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRTtvQkFDL0QsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDM0g7cUJBQU07b0JBQ0wsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7aUJBQ25EO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO29CQUNqQixRQUF3QyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7aUJBQzFEO2dCQUVELE1BQU0sUUFBUSxDQUFDO2FBQ2hCO2lCQUFNO2dCQUNMLE1BQU0sS0FBSyxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzICovXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IHJlcXVlc3QgYXMgaHR0cFJlcXVlc3QgfSBmcm9tIFwiaHR0cFwiO1xuaW1wb3J0IHsgcmVxdWVzdCBhcyBodHRwc1JlcXVlc3QgfSBmcm9tIFwiaHR0cHNcIjtcbmltcG9ydCB0eXBlIHsgUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiaHR0cHNcIjtcbmltcG9ydCB7IGhvc3RuYW1lIH0gZnJvbSBcIm9zXCI7XG5pbXBvcnQgeyBVUkwgfSBmcm9tIFwidXJsXCI7XG5cbmltcG9ydCB0eXBlIHsgQXN0SnNvbiB9IGZyb20gXCJAc2RrZ2VuL3BhcnNlclwiO1xuaW1wb3J0IHR5cGUgeyBQYXJ0aWFsRGVlcCB9IGZyb20gXCJ0eXBlLWZlc3RcIjtcblxuaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC5qc1wiO1xuaW1wb3J0IHsgZGVjb2RlLCBlbmNvZGUgfSBmcm9tIFwiLi9lbmNvZGUtZGVjb2RlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNka2dlbkVycm9yLCBTZGtnZW5FcnJvcldpdGhEYXRhIH0gZnJvbSBcIi4vZXJyb3IuanNcIjtcbmltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5IH0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbmltcG9ydCB7IGhhcyB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5cbmludGVyZmFjZSBFcnJDbGFzc2VzIHtcbiAgW2NsYXNzTmFtZTogc3RyaW5nXTogKG5ldyAobWVzc2FnZTogc3RyaW5nLCBkYXRhOiBhbnkpID0+IFNka2dlbkVycm9yV2l0aERhdGE8YW55PikgfCAobmV3IChtZXNzYWdlOiBzdHJpbmcpID0+IFNka2dlbkVycm9yKSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNsYXNzIFNka2dlbkh0dHBDbGllbnQge1xuICBwcml2YXRlIGJhc2VVcmw6IFVSTDtcblxuICBleHRyYSA9IG5ldyBNYXA8c3RyaW5nLCB1bmtub3duPigpO1xuXG4gIGNvbnN0cnVjdG9yKGJhc2VVcmw6IHN0cmluZywgcHJpdmF0ZSBhc3RKc29uOiBEZWVwUmVhZG9ubHk8QXN0SnNvbj4sIHByaXZhdGUgZXJyQ2xhc3NlczogRXJyQ2xhc3Nlcykge1xuICAgIHRoaXMuYmFzZVVybCA9IG5ldyBVUkwoYmFzZVVybCk7XG4gIH1cblxuICBhc3luYyBtYWtlUmVxdWVzdChjdHg6IFBhcnRpYWxEZWVwPENvbnRleHQ+IHwgbnVsbCwgZnVuY3Rpb25OYW1lOiBzdHJpbmcsIGFyZ3M6IHVua25vd24pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmFzdEpzb24uZnVuY3Rpb25UYWJsZVtmdW5jdGlvbk5hbWVdO1xuXG4gICAgaWYgKCFmdW5jKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZnVuY3Rpb24gJHtmdW5jdGlvbk5hbWV9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0cmE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmV4dHJhKSB7XG4gICAgICBleHRyYVtrZXldID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBhcmdzOiBlbmNvZGUodGhpcy5hc3RKc29uLnR5cGVUYWJsZSwgYCR7ZnVuY3Rpb25OYW1lfS5hcmdzYCwgZnVuYy5hcmdzLCBhcmdzKSxcbiAgICAgIGRldmljZUluZm86IGN0eD8ucmVxdWVzdD8uZGV2aWNlSW5mbyA/PyB7IGlkOiBob3N0bmFtZSgpLCB0eXBlOiBcIm5vZGVcIiB9LFxuICAgICAgZXh0cmE6IHtcbiAgICAgICAgLi4uZXh0cmEsXG4gICAgICAgIC4uLmN0eD8ucmVxdWVzdD8uZXh0cmEsXG4gICAgICB9LFxuICAgICAgbmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgcmVxdWVzdElkOiBjdHg/LnJlcXVlc3Q/LmlkID8gY3R4LnJlcXVlc3QuaWQgKyByYW5kb21CeXRlcyg2KS50b1N0cmluZyhcImhleFwiKSA6IHJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZyhcImhleFwiKSxcbiAgICAgIHZlcnNpb246IDMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICAgIGhvc3RuYW1lOiB0aGlzLmJhc2VVcmwuaG9zdG5hbWUsXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgcGF0aDogdGhpcy5iYXNlVXJsLnBhdGhuYW1lLFxuICAgICAgcG9ydDogdGhpcy5iYXNlVXJsLnBvcnQsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vc2RrZ2VuXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBlbmNvZGVkUmV0ID0gYXdhaXQgbmV3IFByb21pc2U8dW5rbm93bj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gKHRoaXMuYmFzZVVybC5wcm90b2NvbCA9PT0gXCJodHRwOlwiID8gaHR0cFJlcXVlc3QgOiBodHRwc1JlcXVlc3QpKG9wdGlvbnMsIHJlcyA9PiB7XG4gICAgICAgIGxldCBkYXRhID0gXCJcIjtcblxuICAgICAgICByZXMub24oXCJkYXRhXCIsIGNodW5rID0+IHtcbiAgICAgICAgICBkYXRhICs9IGNodW5rO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVzLm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKGRhdGEpIGFzIG9iamVjdDtcblxuICAgICAgICAgICAgaWYgKGhhcyhyZXNwb25zZSwgXCJlcnJvclwiKSAmJiByZXNwb25zZS5lcnJvcikge1xuICAgICAgICAgICAgICByZWplY3QocmVzcG9uc2UuZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShoYXMocmVzcG9uc2UsIFwicmVzdWx0XCIpID8gcmVzcG9uc2UucmVzdWx0IDogbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJlamVjdCh7IG1lc3NhZ2U6IGAke2Vycm9yfWAsIHR5cGU6IFwiRmF0YWxcIiB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXMub24oXCJlcnJvclwiLCBlcnJvciA9PiB7XG4gICAgICAgICAgcmVqZWN0KHsgbWVzc2FnZTogYCR7ZXJyb3J9YCwgdHlwZTogXCJGYXRhbFwiIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVzLm9uKFwiYWJvcnRlZFwiLCAoKSA9PiB7XG4gICAgICAgICAgcmVqZWN0KHsgbWVzc2FnZTogXCJSZXF1ZXN0IGFib3J0ZWRcIiwgdHlwZTogXCJGYXRhbFwiIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICByZXEub24oXCJlcnJvclwiLCBlcnJvciA9PiB7XG4gICAgICAgIHJlamVjdCh7IG1lc3NhZ2U6IGAke2Vycm9yfWAsIHR5cGU6IFwiRmF0YWxcIiB9KTtcbiAgICAgIH0pO1xuXG4gICAgICByZXEud3JpdGUocmVxdWVzdEJvZHkpO1xuICAgICAgcmVxLmVuZCgpO1xuICAgIH0pLmNhdGNoKChlcnJvcjogb2JqZWN0KSA9PiB7XG4gICAgICBpZiAoaGFzKGVycm9yLCBcInR5cGVcIikgJiYgaGFzKGVycm9yLCBcIm1lc3NhZ2VcIikgJiYgdHlwZW9mIGVycm9yLnR5cGUgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIGVycm9yLm1lc3NhZ2UgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgY29uc3QgZXJyQ2xhc3MgPSB0aGlzLmVyckNsYXNzZXNbZXJyb3IudHlwZV0gPz8gdGhpcy5lcnJDbGFzc2VzLkZhdGFsITtcbiAgICAgICAgY29uc3QgZXJyVHlwZSA9IGVyckNsYXNzLm5hbWU7XG5cbiAgICAgICAgY29uc3QgZXJyb3JKc29uID0gdGhpcy5hc3RKc29uLmVycm9ycy5maW5kKGVyciA9PiAoQXJyYXkuaXNBcnJheShlcnIpID8gZXJyWzBdID09PSBlcnJUeXBlIDogZXJyID09PSBlcnJUeXBlKSk7XG5cbiAgICAgICAgbGV0IG5ld0Vycm9yO1xuXG4gICAgICAgIGlmIChlcnJvckpzb24gJiYgQXJyYXkuaXNBcnJheShlcnJvckpzb24pICYmIGhhcyhlcnJvciwgXCJkYXRhXCIpKSB7XG4gICAgICAgICAgbmV3RXJyb3IgPSBuZXcgZXJyQ2xhc3MoZXJyb3IubWVzc2FnZSwgZGVjb2RlKHRoaXMuYXN0SnNvbi50eXBlVGFibGUsIGAke2VyckNsYXNzLm5hbWV9LmRhdGFgLCBlcnJvckpzb25bMV0sIGVycm9yLmRhdGEpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdFcnJvciA9IG5ldyBlcnJDbGFzcyhlcnJvci5tZXNzYWdlLCB1bmRlZmluZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFuZXdFcnJvci50eXBlKSB7XG4gICAgICAgICAgKG5ld0Vycm9yIGFzIHVua25vd24gYXMgeyB0eXBlOiBzdHJpbmcgfSkudHlwZSA9IGVyclR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXdFcnJvcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRlY29kZSh0aGlzLmFzdEpzb24udHlwZVRhYmxlLCBgJHtmdW5jdGlvbk5hbWV9LnJldGAsIGZ1bmMucmV0LCBlbmNvZGVkUmV0KTtcbiAgfVxufVxuIl19
|
|
105
|
+
exports.SdkgenHttpClient = SdkgenHttpClient;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="node"
|
|
2
|
-
/// <reference types="node"
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
3
|
import type { IncomingMessage, Server, ServerResponse } from "http";
|
|
4
|
-
import type { BaseApiConfig } from "./api-config
|
|
4
|
+
import type { BaseApiConfig } from "./api-config";
|
|
5
5
|
export declare class SdkgenHttpServer<ExtraContextT = unknown> {
|
|
6
6
|
apiConfig: BaseApiConfig<ExtraContextT>;
|
|
7
7
|
httpServer: Server;
|