@loke/http-rpc 5.2.0 → 5.4.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/README.md CHANGED
@@ -107,28 +107,33 @@ Also, to list runtime RPC metadata you can GET /rpc
107
107
  curl -X GET http://localhost:5000/rpc
108
108
  ```
109
109
 
110
- ## Schemas
110
+ ## Schemas and Context
111
111
 
112
112
  Since v5.1.0 we now support
113
113
  [JTD Schemas](https://jsontypedef.com/docs/jtd-in-5-minutes/) for requests and
114
114
  responses validation (Via [AJV](https://ajv.js.org/json-type-definition.html)).
115
115
 
116
+ For more in-depth information about using the schema see `SCHEMAS.md`.
117
+
118
+ Since v5.3.0 we now support passing a context object to the service methods. Use `serviceWithSchema` if you don't want to use the context.
119
+
116
120
  ```ts
117
- const {
121
+ import {
118
122
  createRequestHandler,
119
123
  createErrorHandler,
120
124
  serviceWithSchema,
121
- } = require("@loke/http-rpc");
125
+ } from "@loke/http-rpc";
126
+ import { Context } from "@loke/context";
122
127
 
123
128
  interface Thing {
124
129
  name: string;
125
130
  }
126
131
 
127
132
  const myService = {
128
- async doStuff(args: {}) {
133
+ async doStuff(ctx: Context, args: {}) {
129
134
  return await Promise.resolve("stuff done");
130
135
  },
131
- async getThing(args: { name: string }): Promise<Thing> {
136
+ async getThing(ctx: Context, args: { name: string }): Promise<Thing> {
132
137
  return { name: args.name };
133
138
  },
134
139
  };
@@ -138,35 +143,38 @@ type Defs = { Thing: Thing };
138
143
 
139
144
  // instead of `typeof myService` you could also name a type like
140
145
  // type Service = {}
141
- const myRpcService = serviceWithSchema<typeof myService, Defs>(myService, {
142
- name: "my-service",
143
- logger: console,
144
- // Record<string, JTD>
145
- definitions: {
146
- Thing: {
147
- properties: {
148
- name: { type: "string" },
146
+ const myRpcService = contextServiceWithSchema<typeof myService, Defs>(
147
+ myService,
148
+ {
149
+ name: "my-service",
150
+ logger: console,
151
+ // Record<string, JTD>
152
+ definitions: {
153
+ Thing: {
154
+ properties: {
155
+ name: { type: "string" },
156
+ },
149
157
  },
150
158
  },
151
- },
152
- methods: {
153
- doStuff: {
154
- help: "This is a silly method",
155
- // JTD
156
- requestTypeDef: {
157
- properties: {},
159
+ methods: {
160
+ doStuff: {
161
+ help: "This is a silly method",
162
+ // JTD
163
+ requestTypeDef: {
164
+ properties: {},
165
+ },
166
+ responseTypeDef: { type: "string" },
158
167
  },
159
- responseTypeDef: { type: "string" },
160
- },
161
- getThing: {
162
- help: "Get a thing",
163
- requestTypeDef: {
164
- properties: { name: { type: "string" } },
168
+ getThing: {
169
+ help: "Get a thing",
170
+ requestTypeDef: {
171
+ properties: { name: { type: "string" } },
172
+ },
173
+ responseTypeDef: { ref: "Thing" },
165
174
  },
166
- responseTypeDef: { ref: "Thing" },
167
175
  },
168
- },
169
- });
176
+ }
177
+ );
170
178
 
171
179
  const rpcHandler = createRequestHandler([myRpcService]);
172
180
 
@@ -175,3 +183,31 @@ const errorLogger = (msg) => console.log(msg);
175
183
  app.use("/rpc", rpcHandler);
176
184
  app.use(createErrorHandler({ log: errorLogger }));
177
185
  ```
186
+
187
+ ### Void result schema
188
+
189
+ Return types of `void` should generally be avoided, but if you need to use them
190
+ you can use `voidSchema` to define the schema for the response.
191
+
192
+ ```ts
193
+ import { voidSchema } from "@loke/http-rpc";
194
+
195
+ const myService = {
196
+ async doSomething(): Promise<void> {
197
+ return;
198
+ },
199
+ };
200
+
201
+ const myRpcService = serviceWithSchema(myService, {
202
+ name: "my-service",
203
+ logger: console,
204
+ methods: {
205
+ doSomething: {
206
+ requestTypeDef: {
207
+ properties: {},
208
+ },
209
+ responseTypeDef: voidSchema,
210
+ },
211
+ },
212
+ });
213
+ ```
package/dist/common.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  import { JTDSchemaType } from "ajv/dist/jtd";
2
- export declare type Method<A = any, R = any> = (args: A) => R;
2
+ import { Context } from "@loke/context";
3
+ export declare const requestContexts: WeakMap<object, Context>;
4
+ export type Method<A = any, R = any> = (args: A) => R;
5
+ export type ContextMethod<A = any, R = any> = (ctx: Context, args: A) => R;
3
6
  export interface MethodDetails {
4
7
  methodName: string;
5
8
  methodTimeout?: number;
@@ -20,6 +23,9 @@ export interface ServiceDetails<S, Def extends Record<string, unknown> = Record<
20
23
  export interface Service {
21
24
  [methodName: string]: Method;
22
25
  }
26
+ export interface ContextService {
27
+ [methodName: string]: ContextMethod;
28
+ }
23
29
  export interface ServiceSet<S extends Service> {
24
30
  implementation: S;
25
31
  meta: ServiceDetails<S, any>;
package/dist/common.js CHANGED
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requestContexts = void 0;
4
+ exports.requestContexts = new WeakMap();
3
5
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../common.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../common.ts"],"names":[],"mappings":";;;AAGa,QAAA,eAAe,GAAG,IAAI,OAAO,EAAmB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RequestHandler, ErrorRequestHandler } from "express";
2
2
  import { ServiceSet } from "./common";
3
- export { ServiceSet, ServiceDetails, MethodDetails, Service, Method, } from "./common";
4
- export { serviceWithSchema } from "./schema";
3
+ export { ServiceSet, ServiceDetails, MethodDetails, Service, Method, ContextMethod, ContextService, } from "./common";
4
+ export { serviceWithSchema, contextServiceWithSchema, voidSchema, VoidSchema, } from "./schema";
5
5
  declare class ExtendableError extends Error {
6
6
  constructor(message: string);
7
7
  }
package/dist/index.js CHANGED
@@ -1,9 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createErrorHandler = exports.createRequestHandler = exports.RpcError = exports.serviceWithSchema = void 0;
29
+ exports.createErrorHandler = exports.createRequestHandler = exports.RpcError = exports.voidSchema = exports.contextServiceWithSchema = exports.serviceWithSchema = void 0;
4
30
  const prom_client_1 = require("prom-client");
31
+ const context = __importStar(require("@loke/context"));
32
+ const on_finished_1 = __importDefault(require("on-finished"));
33
+ const crypto_1 = require("crypto");
34
+ const common_1 = require("./common");
5
35
  var schema_1 = require("./schema");
6
36
  Object.defineProperty(exports, "serviceWithSchema", { enumerable: true, get: function () { return schema_1.serviceWithSchema; } });
37
+ Object.defineProperty(exports, "contextServiceWithSchema", { enumerable: true, get: function () { return schema_1.contextServiceWithSchema; } });
38
+ Object.defineProperty(exports, "voidSchema", { enumerable: true, get: function () { return schema_1.voidSchema; } });
7
39
  const requestDuration = new prom_client_1.Histogram({
8
40
  name: "http_rpc_request_duration_seconds",
9
41
  help: "Duration of rpc requests",
@@ -93,20 +125,39 @@ function createRequestHandler(services, options) {
93
125
  getHandlers.set(`/${methodName}`, getHandler);
94
126
  }
95
127
  const requestMeta = { handler: `${serviceName}.${methodName}` };
128
+ requestDuration.zero(requestMeta);
129
+ requestCount.inc(requestMeta, 0);
130
+ failureCount.inc(Object.assign({ type: "<none>" }, requestMeta), 0);
96
131
  const methodFn = service.implementation[methodName].bind(service.implementation);
97
132
  const postHandler = async (req, res, next) => {
98
133
  const end = requestDuration.startTimer(requestMeta);
134
+ let abortable = null;
99
135
  try {
100
136
  requestCount.inc(requestMeta);
137
+ const requestDeadline = first(req.headers["x-request-deadline"]);
138
+ if (requestDeadline) {
139
+ abortable = context.withDeadline(context.background, Date.parse(requestDeadline));
140
+ }
141
+ else {
142
+ abortable = context.withAbort(context.background);
143
+ }
144
+ const ctx = context.withValues(abortable.ctx, {
145
+ [context.requestIdKey]: first(req.headers["x-request-id"]) ||
146
+ (0, crypto_1.randomBytes)(6).toString("base64url"),
147
+ });
148
+ (0, on_finished_1.default)(res, () => abortable === null || abortable === void 0 ? void 0 : abortable.abort());
149
+ common_1.requestContexts.set(req.body, ctx);
101
150
  const result = await methodFn(req.body);
102
- res.json(result);
151
+ // Return null for void result to help old clients
152
+ res.json(result !== null && result !== void 0 ? result : null);
103
153
  }
104
154
  catch (err) {
105
- failureCount.inc(Object.assign({ type: err.type }, requestMeta));
155
+ failureCount.inc(Object.assign({ type: err.type || "<none>" }, requestMeta));
106
156
  next(new RpcError(serviceName, methodName, err));
107
157
  }
108
158
  finally {
109
159
  end();
160
+ abortable === null || abortable === void 0 ? void 0 : abortable.abort();
110
161
  }
111
162
  };
112
163
  postHandlers.set(`/${serviceName}/${methodName}`, postHandler);
@@ -153,4 +204,9 @@ function createErrorHandler(args = {}) {
153
204
  };
154
205
  }
155
206
  exports.createErrorHandler = createErrorHandler;
207
+ function first(s) {
208
+ if (!s)
209
+ return undefined;
210
+ return Array.isArray(s) ? s[0] : s;
211
+ }
156
212
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,17 +1,35 @@
1
1
  import { JTDSchemaType } from "ajv/dist/jtd";
2
- import { ServiceSet, Service } from "./common";
2
+ import { ServiceSet, Service, ContextService } from "./common";
3
+ export declare const voidSchema: {
4
+ readonly metadata: {
5
+ readonly void: true;
6
+ };
7
+ };
8
+ export type VoidSchema = typeof voidSchema;
3
9
  export interface MethodDetails<Req, Res, Def extends Record<string, unknown> = Record<string, never>> {
4
10
  methodTimeout?: number;
5
11
  help?: string;
6
12
  requestTypeDef?: JTDSchemaType<Req, Def>;
7
- responseTypeDef?: JTDSchemaType<Res, Def>;
13
+ responseTypeDef?: JTDSchemaType<Res, Def> | VoidSchema;
8
14
  }
9
- declare type Methods<S extends Service, Def extends Record<string, unknown> = Record<string, never>> = {
15
+ type Methods<S extends Service, Def extends Record<string, unknown> = Record<string, never>> = {
10
16
  [K in keyof S]?: MethodDetails<Parameters<S[K]>[0], Awaited<ReturnType<S[K]>>, Def>;
11
17
  };
18
+ type ContextMethods<S extends ContextService, Def extends Record<string, unknown> = Record<string, never>> = {
19
+ [K in keyof S]?: MethodDetails<Parameters<S[K]>[1], Awaited<ReturnType<S[K]>>, Def>;
20
+ };
12
21
  interface Logger {
13
22
  error: (str: string) => void;
14
23
  }
24
+ export declare function contextServiceWithSchema<S extends ContextService, Def extends Record<string, unknown> = Record<string, never>>(service: S, serviceMeta: {
25
+ name: string;
26
+ definitions?: {
27
+ [K in keyof Def]: JTDSchemaType<Def[K], Def>;
28
+ };
29
+ methods: ContextMethods<S, Def>;
30
+ logger: Logger;
31
+ strictResponseValidation?: boolean;
32
+ }): ServiceSet<any>;
15
33
  export declare function serviceWithSchema<S extends Service, Def extends Record<string, unknown> = Record<string, never>>(service: S, serviceMeta: {
16
34
  name: string;
17
35
  definitions?: {
package/dist/schema.js CHANGED
@@ -3,8 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.serviceWithSchema = void 0;
6
+ exports.serviceWithSchema = exports.contextServiceWithSchema = exports.voidSchema = void 0;
7
7
  const jtd_1 = __importDefault(require("ajv/dist/jtd"));
8
+ const common_1 = require("./common");
9
+ exports.voidSchema = { metadata: { void: true } };
8
10
  class ValidationError extends Error {
9
11
  constructor(message, params) {
10
12
  super(message);
@@ -29,8 +31,30 @@ class ResponseValidationError extends Error {
29
31
  Object.assign(this, params);
30
32
  }
31
33
  }
34
+ function contextServiceWithSchema(service, serviceMeta) {
35
+ const wrappedService = {};
36
+ for (const methodName of Object.keys(serviceMeta.methods)) {
37
+ wrappedService[methodName] = async (args) => {
38
+ const ctx = common_1.requestContexts.get(args);
39
+ if (!ctx) {
40
+ throw new Error("missing request context");
41
+ }
42
+ return await service[methodName](ctx, args);
43
+ };
44
+ }
45
+ return serviceWithSchema(wrappedService, serviceMeta);
46
+ }
47
+ exports.contextServiceWithSchema = contextServiceWithSchema;
32
48
  function serviceWithSchema(service, serviceMeta) {
33
- const ajv = new jtd_1.default();
49
+ const ajv = new jtd_1.default({
50
+ keywords: [
51
+ {
52
+ keyword: "void",
53
+ validate: (_, data) => data === undefined,
54
+ errors: false,
55
+ },
56
+ ],
57
+ });
34
58
  const implementation = {};
35
59
  const serviceDetails = {
36
60
  service: serviceMeta.name,
@@ -97,7 +121,7 @@ function serviceWithSchema(service, serviceMeta) {
97
121
  throw new ResponseValidationError(msg, params);
98
122
  }
99
123
  else {
100
- logger.error(`rpc response schema validation errors: ${JSON.stringify(errors)}`);
124
+ logger.error(`rpc response schema validation errors: ${serviceMeta.name}.${methodName} ${JSON.stringify(errors)}`);
101
125
  }
102
126
  }
103
127
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../test/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../test/errors.ts"],"names":[],"mappings":"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"}
@@ -29,19 +29,37 @@ function createServerAddress(app) {
29
29
  hello: (x) => {
30
30
  return `success ${x.msg}`;
31
31
  },
32
+ voidMethod: () => {
33
+ return;
34
+ },
35
+ nullMethod: () => {
36
+ return null;
37
+ },
32
38
  };
33
39
  const meta = {
34
- expose: [{ methodName: "hello" }],
40
+ expose: [{ methodName: "hello" }, { methodName: "voidMethod" }],
35
41
  service: "hello-service",
36
42
  };
37
43
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }]));
38
44
  const serverAddress = createServerAddress(app);
39
- const body = await got_1.default
40
- .post(`${serverAddress}/rpc/hello-service/hello`, {
41
- json: { msg: "world" },
42
- })
43
- .json();
44
- t.is(body, "success world");
45
+ // Basic method
46
+ {
47
+ const body = await got_1.default
48
+ .post(`${serverAddress}/rpc/hello-service/hello`, {
49
+ json: { msg: "world" },
50
+ })
51
+ .json();
52
+ t.is(body, "success world");
53
+ }
54
+ // null method
55
+ {
56
+ const body = await got_1.default
57
+ .post(`${serverAddress}/rpc/hello-service/voidMethod`, {
58
+ json: {},
59
+ })
60
+ .json();
61
+ t.is(body, null);
62
+ }
45
63
  await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/hello-service/missingMethod`, {
46
64
  json: { msg: "world" },
47
65
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../test/express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../test/express.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -8,8 +31,8 @@ const http_1 = __importDefault(require("http"));
8
31
  const express_1 = __importDefault(require("express"));
9
32
  const body_parser_1 = __importDefault(require("body-parser"));
10
33
  const got_1 = __importDefault(require("got"));
34
+ const context = __importStar(require("@loke/context"));
11
35
  const __1 = require("../");
12
- const schema_1 = require("../schema");
13
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
37
  const inspect = (req, res, next) => {
15
38
  next();
@@ -45,6 +68,12 @@ function createServerAddress(app) {
45
68
  async refReq() {
46
69
  throw new Error("for types only");
47
70
  }
71
+ async voidSchema(args) {
72
+ if (args.bad) {
73
+ return 1; // bad void
74
+ }
75
+ return;
76
+ }
48
77
  async noSchema() {
49
78
  return;
50
79
  }
@@ -61,7 +90,7 @@ function createServerAddress(app) {
61
90
  implementation: untypedService,
62
91
  meta: { service: "untypedService", expose: [{ methodName: "foo" }] },
63
92
  },
64
- (0, schema_1.serviceWithSchema)(service1, {
93
+ (0, __1.serviceWithSchema)(service1, {
65
94
  name: "service1",
66
95
  definitions: {
67
96
  User: {
@@ -86,7 +115,7 @@ function createServerAddress(app) {
86
115
  },
87
116
  logger: { error: t.log },
88
117
  }),
89
- (0, schema_1.serviceWithSchema)(service2, {
118
+ (0, __1.serviceWithSchema)(service2, {
90
119
  name: "service2",
91
120
  definitions: {
92
121
  User: {
@@ -114,6 +143,9 @@ function createServerAddress(app) {
114
143
  requestTypeDef: { ref: "User" },
115
144
  responseTypeDef: { ref: "User" },
116
145
  },
146
+ voidSchema: {
147
+ responseTypeDef: __1.voidSchema,
148
+ },
117
149
  noSchema: {},
118
150
  },
119
151
  logger: { error: t.log },
@@ -126,6 +158,12 @@ function createServerAddress(app) {
126
158
  })
127
159
  .json();
128
160
  t.deepEqual(body, { name: "1" });
161
+ // Methods with void schema should work
162
+ await got_1.default
163
+ .post(`${serverAddress}/rpc/service2/voidSchema`, {
164
+ json: {},
165
+ })
166
+ .json();
129
167
  // Methods with no schema should still work
130
168
  await got_1.default
131
169
  .post(`${serverAddress}/rpc/service2/noSchema`, {
@@ -147,6 +185,21 @@ function createServerAddress(app) {
147
185
  schemaPath: "/definitions/User/properties/name/type",
148
186
  });
149
187
  }
188
+ // Methods with invalid void should fail
189
+ {
190
+ const err = await t.throwsAsync(() => got_1.default
191
+ .post(`${serverAddress}/rpc/service2/voidSchema`, {
192
+ json: { bad: true },
193
+ })
194
+ .json());
195
+ t.deepEqual(JSON.parse(err.response.body), {
196
+ message: 'must pass "void" keyword validation',
197
+ code: "response-validation",
198
+ type: "https://errors.loke.global/@loke/http-rpc/response-validation",
199
+ instancePath: "",
200
+ schemaPath: "/metadata/void",
201
+ });
202
+ }
150
203
  // Methods with invalid response should fail (can be turned off)
151
204
  {
152
205
  const err = await t.throwsAsync(() => got_1.default
@@ -169,4 +222,58 @@ function createServerAddress(app) {
169
222
  })
170
223
  .json());
171
224
  });
225
+ (0, ava_1.default)("test context", async (t) => {
226
+ const app = (0, express_1.default)();
227
+ let lastReqId;
228
+ let lastDeadline;
229
+ const service1 = {
230
+ bar: async (ctx, args) => {
231
+ lastReqId = context.getRequestId(ctx);
232
+ lastDeadline = ctx.deadline;
233
+ return args.user;
234
+ },
235
+ };
236
+ app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([
237
+ (0, __1.contextServiceWithSchema)(service1, {
238
+ name: "service1",
239
+ definitions: {
240
+ User: {
241
+ properties: {
242
+ name: { type: "string" },
243
+ },
244
+ },
245
+ },
246
+ methods: {
247
+ bar: {
248
+ requestTypeDef: {
249
+ properties: {
250
+ message: { type: "string" },
251
+ user: { ref: "User" },
252
+ },
253
+ optionalProperties: {
254
+ thing: {},
255
+ },
256
+ },
257
+ responseTypeDef: { ref: "User" },
258
+ },
259
+ },
260
+ logger: { error: t.log },
261
+ }),
262
+ ]), (0, __1.createErrorHandler)());
263
+ const serverAddress = createServerAddress(app);
264
+ // Can't use static because setTimeout maxes out at 32 bits (~24 days)
265
+ const deadline = new Date(Date.now() + 1000 * 60);
266
+ const body = await got_1.default
267
+ .post(`${serverAddress}/rpc/service1/bar`, {
268
+ headers: {
269
+ "x-request-id": "the-request-id",
270
+ "x-request-deadline": deadline.toISOString(),
271
+ },
272
+ json: { message: "world", user: { name: "1" } },
273
+ })
274
+ .json();
275
+ t.is(lastReqId, "the-request-id");
276
+ t.is(lastDeadline, deadline.getTime());
277
+ t.deepEqual(body, { name: "1" });
278
+ });
172
279
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../test/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../test/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loke/http-rpc",
3
- "version": "5.2.0",
3
+ "version": "5.4.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -28,8 +28,10 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@loke/errors": "0.2.1",
31
- "@types/body-parser": "^1.19.0",
32
- "@types/express": "^4.17.8",
31
+ "@types/body-parser": "^1.19.2",
32
+ "@types/express": "^4.17.17",
33
+ "@types/node": "^18.15.11",
34
+ "@types/on-finished": "^2.3.1",
33
35
  "@typescript-eslint/eslint-plugin": "^5.36.1",
34
36
  "@typescript-eslint/parser": "^5.36.1",
35
37
  "ava": "^3.12.1",
@@ -38,7 +40,7 @@
38
40
  "eslint-config-prettier": "^6.11.0",
39
41
  "eslint-plugin-ava": "^11.0.0",
40
42
  "eslint-plugin-prettier": "^3.1.4",
41
- "express": "^4.14.0",
43
+ "express": "^4.18.2",
42
44
  "got": "^11.6.2",
43
45
  "prettier": "2.1.1",
44
46
  "prom-client": "^14.1.1",
@@ -49,6 +51,8 @@
49
51
  "prom-client": ">=12 <=14"
50
52
  },
51
53
  "dependencies": {
52
- "ajv": "^8.11.0"
54
+ "@loke/context": "^0.0.1",
55
+ "ajv": "^8.11.0",
56
+ "on-finished": "^2.4.1"
53
57
  }
54
58
  }