10000 feat(node-runtime): add query to ctx (#814) · sdkgen/sdkgen@bd408ed · GitHub
[go: up one dir, main page]

Skip to content

Commit bd408ed

Browse files
authored
feat(node-runtime): add query to ctx (#814)
1 parent 6341d44 commit bd408ed

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

packages/node-runtime/src/context.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export interface ContextRequest {
1414
};
1515
extra: Record<string, unknown>;
1616
headers: IncomingHttpHeaders;
17+
query: string | null;
1718
id: string;
1819
ip: string;
1920
name: string;

packages/node-runtime/src/http-server.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,7 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
520520
headers: req.headers,
521521
id: randomBytes(16).toString("hex"),
522522
ip,
523+
query,
523524
name: op.name,
524525
version: 3,
525526
};
@@ -769,7 +770,7 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
769770
return;
770771
}
771772

772-
const request = this.parseRequest(req, body.toString(), clientIp);
773+
const request = this.parseRequest(req, body.toString(), clientIp, query);
773774

774775
if (!request) {
775776
this.writeReply(
@@ -798,14 +799,14 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
798799
writeReply(ctx, await executeRequest(ctx, this.apiConfig));
799800
}
800801

801-
private parseRequest(req: IncomingMessage, body: string, ip: string): ContextRequest | null {
802+
private parseRequest(req: IncomingMessage, body: string, ip: string, query: string | null): ContextRequest | null {
802803
switch (this.identifyRequestVersion(req, body)) {
803804
case 1:
804-
return this.parseRequestV1(req, body, ip);
805+
return this.parseRequestV1(req, body, ip, query);
805806
case 2:
806-
return this.parseRequestV2(req, body, ip);
807+
return this.parseRequestV2(req, body, ip, query);
807808
case 3:
808-
return this.parseRequestV3(req, body, ip);
809+
return this.parseRequestV3(req, body, ip, query);
809810
default:
810811
throw new Error("Failed to understand request");
811812
}
@@ -826,7 +827,7 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
826827
}
827828

828829
// Old Sdkgen format
829-
private parseRequestV1(req: IncomingMessage, body: string, ip: string): ContextRequest {
830+
private parseRequestV1(req: IncomingMessage, body: string, ip: string, query: string | null): ContextRequest {
830831
const parsed = decode(
831832
{
832833
Request: {
@@ -871,14 +872,15 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
871872
files: [],
872873
headers: req.headers,
873874
id: `${deviceId}-${parsed.id}`,
875+
query,
874876
ip,
875877
name: parsed.name,
876878
version: 1,
877879
};
878880
}
879881

880882
// Maxima sdkgen format
881-
private parseRequestV2(req: IncomingMessage, body: string, ip: string): ContextRequest {
883+
private parseRequestV2(req: IncomingMessage, body: string, ip: string, query: string | null): ContextRequest {
882884
const parsed = decode(
883885
{
884886
Request: {
@@ -926,14 +928,15 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
926928
files: [],
927929
headers: req.headers,
928930
id: `${parsed.deviceId}-${parsed.requestId ?? randomBytes(16).toString("hex")}`,
931+
query,
929932
ip,
930933
name: parsed.name,
931934
version: 2,
932935
};
933936
}
934937

935938
// New sdkgen format
936-
private parseRequestV3(req: IncomingMessage, body: string, ip: string): ContextRequest {
939+
private parseRequestV3(req: IncomingMessage, body: string, ip: string, query: string | null): ContextRequest {
937940
const parsed = decode(
938941
{
939942
DeviceInfo: {
@@ -989,6 +992,7 @@ export class SdkgenHttpServer<ExtraContextT = unknown> {
989992
headers: req.headers,
990993
id: `${deviceId}-${parsed.requestId ?? randomBytes(16).toString("hex")}`,
991994
ip,
995+
query,
992996
name: parsed.name,
993997
version: 3,
994998
};

packages/node-runtime/src/test-wrapper.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export function apiTestWrapper<ExtraContextT, ApiT extends BaseApiConfig<ExtraCo
3939
ip: partialCtx.request?.ip ?? "0.0.0.0",
4040
name: functionName,
4141
version: 3,
42+
query: null,
4243
},
4344
response: {
4445
headers: new Map(),

0 commit comments

Comments
 (0)
0