@loke/http-rpc 5.3.0 → 5.5.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
@@ -21,7 +21,7 @@ const lokeHttpRpc = require("@loke/http-rpc");
21
21
 
22
22
  const myRpcService = lokeHttpRpc.createRequestHandler(
23
23
  myService,
24
- MY_SERVICE_META
24
+ MY_SERVICE_META,
25
25
  );
26
26
  app.use("/rpc", myRpcService);
27
27
  app.use(lokeHttpRpc.createErrorHandler({ log: (msg) => console.log(msg) }));
@@ -37,7 +37,7 @@ const { createRequestHandler, createErrorHandler } = require("@loke/http-rpc");
37
37
  // service will be exposed on /rpc/service-name
38
38
  app.use(
39
39
  "/rpc",
40
- createRequestHandler([{ implementation: myService, meta: MY_SERVICE_META }])
40
+ createRequestHandler([{ implementation: myService, meta: MY_SERVICE_META }]),
41
41
  );
42
42
  app.use(createErrorHandler({ log: (msg) => console.log(msg) }));
43
43
 
@@ -47,7 +47,7 @@ app.use(
47
47
  "/rpc",
48
48
  createRequestHandler([{ implementation: myService, meta: MY_SERVICE_META }], {
49
49
  legacy: true,
50
- })
50
+ }),
51
51
  );
52
52
  app.use(createErrorHandler({ log: (msg) => console.log(msg) }));
53
53
  ```
@@ -113,6 +113,8 @@ 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
+
116
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.
117
119
 
118
120
  ```ts
@@ -171,7 +173,7 @@ const myRpcService = contextServiceWithSchema<typeof myService, Defs>(
171
173
  responseTypeDef: { ref: "Thing" },
172
174
  },
173
175
  },
174
- }
176
+ },
175
177
  );
176
178
 
177
179
  const rpcHandler = createRequestHandler([myRpcService]);
@@ -181,3 +183,31 @@ const errorLogger = (msg) => console.log(msg);
181
183
  app.use("/rpc", rpcHandler);
182
184
  app.use(createErrorHandler({ log: errorLogger }));
183
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
@@ -11,7 +11,8 @@ export interface MethodDetails {
11
11
  requestTypeDef?: JTDSchemaType<any, any>;
12
12
  responseTypeDef?: JTDSchemaType<any, any>;
13
13
  }
14
- export interface ServiceDetails<S, Def extends Record<string, unknown> = Record<string, never>> {
14
+ export interface ServiceDetails<S, // eslint-disable-line @typescript-eslint/no-unused-vars
15
+ Def extends Record<string, unknown> = Record<string, never>> {
15
16
  expose: MethodDetails[];
16
17
  service: string;
17
18
  help?: string;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RequestHandler, ErrorRequestHandler } from "express";
2
2
  import { ServiceSet } from "./common";
3
3
  export { ServiceSet, ServiceDetails, MethodDetails, Service, Method, ContextMethod, ContextService, } from "./common";
4
- export { serviceWithSchema, contextServiceWithSchema } from "./schema";
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
@@ -26,7 +26,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createErrorHandler = exports.createRequestHandler = exports.RpcError = exports.contextServiceWithSchema = exports.serviceWithSchema = void 0;
29
+ exports.RpcError = exports.voidSchema = exports.contextServiceWithSchema = exports.serviceWithSchema = void 0;
30
+ exports.createRequestHandler = createRequestHandler;
31
+ exports.createErrorHandler = createErrorHandler;
30
32
  const prom_client_1 = require("prom-client");
31
33
  const context = __importStar(require("@loke/context"));
32
34
  const on_finished_1 = __importDefault(require("on-finished"));
@@ -35,6 +37,7 @@ const common_1 = require("./common");
35
37
  var schema_1 = require("./schema");
36
38
  Object.defineProperty(exports, "serviceWithSchema", { enumerable: true, get: function () { return schema_1.serviceWithSchema; } });
37
39
  Object.defineProperty(exports, "contextServiceWithSchema", { enumerable: true, get: function () { return schema_1.contextServiceWithSchema; } });
40
+ Object.defineProperty(exports, "voidSchema", { enumerable: true, get: function () { return schema_1.voidSchema; } });
38
41
  const requestDuration = new prom_client_1.Histogram({
39
42
  name: "http_rpc_request_duration_seconds",
40
43
  help: "Duration of rpc requests",
@@ -124,6 +127,9 @@ function createRequestHandler(services, options) {
124
127
  getHandlers.set(`/${methodName}`, getHandler);
125
128
  }
126
129
  const requestMeta = { handler: `${serviceName}.${methodName}` };
130
+ requestDuration.zero(requestMeta);
131
+ requestCount.inc(requestMeta, 0);
132
+ failureCount.inc(Object.assign({ type: "<none>" }, requestMeta), 0);
127
133
  const methodFn = service.implementation[methodName].bind(service.implementation);
128
134
  const postHandler = async (req, res, next) => {
129
135
  const end = requestDuration.startTimer(requestMeta);
@@ -138,16 +144,17 @@ function createRequestHandler(services, options) {
138
144
  abortable = context.withAbort(context.background);
139
145
  }
140
146
  const ctx = context.withValues(abortable.ctx, {
141
- [context.requestIdKey]: req.headers["x-request-id"] ||
147
+ [context.requestIdKey]: first(req.headers["x-request-id"]) ||
142
148
  (0, crypto_1.randomBytes)(6).toString("base64url"),
143
149
  });
144
150
  (0, on_finished_1.default)(res, () => abortable === null || abortable === void 0 ? void 0 : abortable.abort());
145
151
  common_1.requestContexts.set(req.body, ctx);
146
152
  const result = await methodFn(req.body);
147
- res.json(result);
153
+ // Return null for void result to help old clients
154
+ res.json(result !== null && result !== void 0 ? result : null);
148
155
  }
149
156
  catch (err) {
150
- failureCount.inc(Object.assign({ type: err.type }, requestMeta));
157
+ failureCount.inc(Object.assign({ type: err.type || "<none>" }, requestMeta));
151
158
  next(new RpcError(serviceName, methodName, err));
152
159
  }
153
160
  finally {
@@ -177,7 +184,6 @@ function createRequestHandler(services, options) {
177
184
  handler(req, res, next);
178
185
  };
179
186
  }
180
- exports.createRequestHandler = createRequestHandler;
181
187
  function createErrorHandler(args = {}) {
182
188
  const { log = () => undefined } = args;
183
189
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -198,7 +204,6 @@ function createErrorHandler(args = {}) {
198
204
  return res.status(400).json(err.inner);
199
205
  };
200
206
  }
201
- exports.createErrorHandler = createErrorHandler;
202
207
  function first(s) {
203
208
  if (!s)
204
209
  return undefined;
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,10 +1,16 @@
1
1
  import { JTDSchemaType } from "ajv/dist/jtd";
2
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
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>;
package/dist/schema.js CHANGED
@@ -3,9 +3,12 @@ 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 = exports.contextServiceWithSchema = void 0;
6
+ exports.voidSchema = void 0;
7
+ exports.contextServiceWithSchema = contextServiceWithSchema;
8
+ exports.serviceWithSchema = serviceWithSchema;
7
9
  const jtd_1 = __importDefault(require("ajv/dist/jtd"));
8
10
  const common_1 = require("./common");
11
+ exports.voidSchema = { metadata: { void: true } };
9
12
  class ValidationError extends Error {
10
13
  constructor(message, params) {
11
14
  super(message);
@@ -43,9 +46,16 @@ function contextServiceWithSchema(service, serviceMeta) {
43
46
  }
44
47
  return serviceWithSchema(wrappedService, serviceMeta);
45
48
  }
46
- exports.contextServiceWithSchema = contextServiceWithSchema;
47
49
  function serviceWithSchema(service, serviceMeta) {
48
- const ajv = new jtd_1.default();
50
+ const ajv = new jtd_1.default({
51
+ keywords: [
52
+ {
53
+ keyword: "void",
54
+ validate: (_, data) => data === undefined,
55
+ errors: false,
56
+ },
57
+ ],
58
+ });
49
59
  const implementation = {};
50
60
  const serviceDetails = {
51
61
  service: serviceMeta.name,
@@ -112,7 +122,7 @@ function serviceWithSchema(service, serviceMeta) {
112
122
  throw new ResponseValidationError(msg, params);
113
123
  }
114
124
  else {
115
- logger.error(`rpc response schema validation errors: ${JSON.stringify(errors)}`);
125
+ logger.error(`rpc response schema validation errors: ${serviceMeta.name}.${methodName} ${JSON.stringify(errors)}`);
116
126
  }
117
127
  }
118
128
  return result;
@@ -123,7 +133,6 @@ function serviceWithSchema(service, serviceMeta) {
123
133
  meta: serviceDetails,
124
134
  };
125
135
  }
126
- exports.serviceWithSchema = serviceWithSchema;
127
136
  // errorMessage formats an error message from an AJV JTD error object
128
137
  // example
129
138
  // { message : "should be string", instancePath : "/user/name" }
@@ -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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"}
@@ -15,13 +15,16 @@ const inspect = (req, res, next) => {
15
15
  next();
16
16
  // console.log(req.body, req.headers); // eslint-disable-line no-console
17
17
  };
18
- function createServerAddress(app) {
18
+ function createServerAddress(app, t) {
19
19
  const server = http_1.default.createServer(app);
20
20
  server.listen(0);
21
21
  const address = server.address();
22
22
  if (!address || typeof address !== "object") {
23
23
  throw new Error("No server address found");
24
24
  }
25
+ t.teardown(() => {
26
+ server.close();
27
+ });
25
28
  return `http://localhost:${address.port}`;
26
29
  }
27
30
  (0, ava_1.default)("passes through messages", async (t) => {
@@ -36,7 +39,7 @@ function createServerAddress(app) {
36
39
  service: "hello-service",
37
40
  };
38
41
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }), (0, __1.createErrorHandler)());
39
- const serverAddress = createServerAddress(app);
42
+ const serverAddress = createServerAddress(app, t);
40
43
  const err = await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/basicError`, {
41
44
  json: {},
42
45
  responseType: "json",
@@ -59,7 +62,7 @@ function createServerAddress(app) {
59
62
  service: "hello-service",
60
63
  };
61
64
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }), (0, __1.createErrorHandler)());
62
- const serverAddress = createServerAddress(app);
65
+ const serverAddress = createServerAddress(app, t);
63
66
  const err = await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/codeError`, {
64
67
  json: {},
65
68
  responseType: "json",
@@ -87,7 +90,7 @@ function createServerAddress(app) {
87
90
  service: "hello-service",
88
91
  };
89
92
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }), (0, __1.createErrorHandler)());
90
- const serverAddress = createServerAddress(app);
93
+ const serverAddress = createServerAddress(app, t);
91
94
  const err = await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/lokeError`, {
92
95
  json: {},
93
96
  responseType: "json",
@@ -112,7 +115,7 @@ function createServerAddress(app) {
112
115
  });
113
116
  const implementation = {
114
117
  lokeError: () => {
115
- throw new CustomError(null, { something: "else" });
118
+ throw new CustomError(undefined, { something: "else" });
116
119
  },
117
120
  };
118
121
  const meta = {
@@ -120,7 +123,7 @@ function createServerAddress(app) {
120
123
  service: "hello-service",
121
124
  };
122
125
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }), (0, __1.createErrorHandler)());
123
- const serverAddress = createServerAddress(app);
126
+ const serverAddress = createServerAddress(app, t);
124
127
  const err = await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/lokeError`, {
125
128
  json: {},
126
129
  responseType: "json",
@@ -158,7 +161,7 @@ function createServerAddress(app) {
158
161
  service: "hello-service",
159
162
  };
160
163
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }), (0, __1.createErrorHandler)({ log }));
161
- const serverAddress = createServerAddress(app);
164
+ const serverAddress = createServerAddress(app, t);
162
165
  await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/stackError`, {
163
166
  json: {},
164
167
  }));
@@ -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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"}
@@ -14,13 +14,16 @@ const inspect = (req, res, next) => {
14
14
  next();
15
15
  // console.log(req.body, req.headers); // eslint-disable-line no-console
16
16
  };
17
- function createServerAddress(app) {
17
+ function createServerAddress(app, t) {
18
18
  const server = http_1.default.createServer(app);
19
19
  server.listen(0);
20
20
  const address = server.address();
21
21
  if (!address || typeof address !== "object") {
22
22
  throw new Error("No server address found");
23
23
  }
24
+ t.teardown(() => {
25
+ server.close();
26
+ });
24
27
  return `http://localhost:${address.port}`;
25
28
  }
26
29
  (0, ava_1.default)("basic integration test", async (t) => {
@@ -29,19 +32,37 @@ function createServerAddress(app) {
29
32
  hello: (x) => {
30
33
  return `success ${x.msg}`;
31
34
  },
35
+ voidMethod: () => {
36
+ return;
37
+ },
38
+ nullMethod: () => {
39
+ return null;
40
+ },
32
41
  };
33
42
  const meta = {
34
- expose: [{ methodName: "hello" }],
43
+ expose: [{ methodName: "hello" }, { methodName: "voidMethod" }],
35
44
  service: "hello-service",
36
45
  };
37
46
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }]));
38
- 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");
47
+ const serverAddress = createServerAddress(app, t);
48
+ // Basic method
49
+ {
50
+ const body = await got_1.default
51
+ .post(`${serverAddress}/rpc/hello-service/hello`, {
52
+ json: { msg: "world" },
53
+ })
54
+ .json();
55
+ t.is(body, "success world");
56
+ }
57
+ // null method
58
+ {
59
+ const body = await got_1.default
60
+ .post(`${serverAddress}/rpc/hello-service/voidMethod`, {
61
+ json: {},
62
+ })
63
+ .json();
64
+ t.is(body, null);
65
+ }
45
66
  await t.throwsAsync(() => got_1.default.post(`${serverAddress}/rpc/hello-service/missingMethod`, {
46
67
  json: { msg: "world" },
47
68
  }));
@@ -61,7 +82,7 @@ function createServerAddress(app) {
61
82
  service: "hello-service",
62
83
  };
63
84
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }));
64
- const serverAddress = createServerAddress(app);
85
+ const serverAddress = createServerAddress(app, t);
65
86
  const body = await got_1.default
66
87
  .post(`${serverAddress}/rpc/hello`, {
67
88
  json: { msg: "world" },
@@ -81,7 +102,7 @@ function createServerAddress(app) {
81
102
  service: "hello-service",
82
103
  };
83
104
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }));
84
- const serverAddress = createServerAddress(app);
105
+ const serverAddress = createServerAddress(app, t);
85
106
  const body = await got_1.default
86
107
  .post(`${serverAddress}/rpc/hello-service/hello`, {
87
108
  json: { msg: "world" },
@@ -107,7 +128,7 @@ It just returns success.`,
107
128
  Can include **Markdown**.`,
108
129
  };
109
130
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }]));
110
- const serverAddress = createServerAddress(app);
131
+ const serverAddress = createServerAddress(app, t);
111
132
  // All service metadata
112
133
  const allMeta = (await (0, got_1.default)(`${serverAddress}/rpc/hello-service`, {
113
134
  responseType: "json",
@@ -152,7 +173,7 @@ It just returns success.`,
152
173
  Can include **Markdown**.`,
153
174
  };
154
175
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([{ implementation, meta }], { legacy: true }));
155
- const serverAddress = createServerAddress(app);
176
+ const serverAddress = createServerAddress(app, t);
156
177
  // All service metadata
157
178
  const allMeta = (await (0, got_1.default)(`${serverAddress}/rpc`, {
158
179
  responseType: "json",
@@ -210,7 +231,7 @@ Can include **Markdown**.`,
210
231
  },
211
232
  };
212
233
  app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([service1, service2]));
213
- const serverAddress = createServerAddress(app);
234
+ const serverAddress = createServerAddress(app, t);
214
235
  const body = await got_1.default.get(`${serverAddress}/rpc`).json();
215
236
  t.deepEqual(body, {
216
237
  services: [
@@ -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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"}
@@ -37,13 +37,16 @@ const __1 = require("../");
37
37
  const inspect = (req, res, next) => {
38
38
  next();
39
39
  };
40
- function createServerAddress(app) {
40
+ function createServerAddress(app, t) {
41
41
  const server = http_1.default.createServer(app);
42
42
  server.listen(0);
43
43
  const address = server.address();
44
44
  if (!address || typeof address !== "object") {
45
45
  throw new Error("No server address found");
46
46
  }
47
+ t.teardown(() => {
48
+ server.close();
49
+ });
47
50
  return `http://localhost:${address.port}`;
48
51
  }
49
52
  (0, ava_1.default)("should validate schemas", async (t) => {
@@ -68,6 +71,12 @@ function createServerAddress(app) {
68
71
  async refReq() {
69
72
  throw new Error("for types only");
70
73
  }
74
+ async voidSchema(args) {
75
+ if (args.bad) {
76
+ return 1; // bad void
77
+ }
78
+ return;
79
+ }
71
80
  async noSchema() {
72
81
  return;
73
82
  }
@@ -137,18 +146,27 @@ function createServerAddress(app) {
137
146
  requestTypeDef: { ref: "User" },
138
147
  responseTypeDef: { ref: "User" },
139
148
  },
149
+ voidSchema: {
150
+ responseTypeDef: __1.voidSchema,
151
+ },
140
152
  noSchema: {},
141
153
  },
142
154
  logger: { error: t.log },
143
155
  }),
144
156
  ]), (0, __1.createErrorHandler)());
145
- const serverAddress = createServerAddress(app);
157
+ const serverAddress = createServerAddress(app, t);
146
158
  const body = await got_1.default
147
159
  .post(`${serverAddress}/rpc/service1/bar`, {
148
160
  json: { message: "world", user: { name: "1" } },
149
161
  })
150
162
  .json();
151
163
  t.deepEqual(body, { name: "1" });
164
+ // Methods with void schema should work
165
+ await got_1.default
166
+ .post(`${serverAddress}/rpc/service2/voidSchema`, {
167
+ json: {},
168
+ })
169
+ .json();
152
170
  // Methods with no schema should still work
153
171
  await got_1.default
154
172
  .post(`${serverAddress}/rpc/service2/noSchema`, {
@@ -170,6 +188,21 @@ function createServerAddress(app) {
170
188
  schemaPath: "/definitions/User/properties/name/type",
171
189
  });
172
190
  }
191
+ // Methods with invalid void should fail
192
+ {
193
+ const err = await t.throwsAsync(() => got_1.default
194
+ .post(`${serverAddress}/rpc/service2/voidSchema`, {
195
+ json: { bad: true },
196
+ })
197
+ .json());
198
+ t.deepEqual(JSON.parse(err.response.body), {
199
+ message: 'must pass "void" keyword validation',
200
+ code: "response-validation",
201
+ type: "https://errors.loke.global/@loke/http-rpc/response-validation",
202
+ instancePath: "",
203
+ schemaPath: "/metadata/void",
204
+ });
205
+ }
173
206
  // Methods with invalid response should fail (can be turned off)
174
207
  {
175
208
  const err = await t.throwsAsync(() => got_1.default
@@ -230,7 +263,7 @@ function createServerAddress(app) {
230
263
  logger: { error: t.log },
231
264
  }),
232
265
  ]), (0, __1.createErrorHandler)());
233
- const serverAddress = createServerAddress(app);
266
+ const serverAddress = createServerAddress(app, t);
234
267
  // Can't use static because setTimeout maxes out at 32 bits (~24 days)
235
268
  const deadline = new Date(Date.now() + 1000 * 60);
236
269
  const body = await got_1.default
@@ -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.3.0",
3
+ "version": "5.5.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -8,8 +8,8 @@
8
8
  "dist"
9
9
  ],
10
10
  "scripts": {
11
- "fix": "eslint . --fix",
12
- "lint": "eslint .",
11
+ "fix": "eslint . --fix && prettier --write .",
12
+ "lint": "eslint . && prettier --check .",
13
13
  "test": "ava -v",
14
14
  "prepare": "npm run build",
15
15
  "build": "rm -rf ./dist && tsc"
@@ -27,32 +27,30 @@
27
27
  ]
28
28
  },
29
29
  "devDependencies": {
30
- "@loke/errors": "0.2.1",
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",
35
- "@typescript-eslint/eslint-plugin": "^5.36.1",
36
- "@typescript-eslint/parser": "^5.36.1",
37
- "ava": "^3.12.1",
38
- "body-parser": "^1.15.2",
39
- "eslint": "^8.23.0",
40
- "eslint-config-prettier": "^6.11.0",
41
- "eslint-plugin-ava": "^11.0.0",
42
- "eslint-plugin-prettier": "^3.1.4",
43
- "express": "^4.18.2",
44
- "got": "^11.6.2",
45
- "prettier": "2.1.1",
46
- "prom-client": "^14.1.1",
47
- "ts-node": "^10.9.1",
48
- "typescript": "^4.8.2"
30
+ "@loke/errors": "^0.6.0",
31
+ "@types/body-parser": "^1.19.5",
32
+ "@types/express": "^4.17.21",
33
+ "@types/node": "^20.16.5",
34
+ "@types/on-finished": "^2.3.4",
35
+ "@typescript-eslint/eslint-plugin": "^8.5.0",
36
+ "@typescript-eslint/parser": "^8.5.0",
37
+ "ava": "^6.1.3",
38
+ "body-parser": "^1.20.3",
39
+ "eslint": "^8.57.0",
40
+ "eslint-plugin-ava": "^14.0.0",
41
+ "express": "^4.20.0",
42
+ "got": "^11.8.6",
43
+ "prettier": "^3.3.3",
44
+ "prom-client": "^15.1.3",
45
+ "ts-node": "^10.9.2",
46
+ "typescript": "^5.6.2"
49
47
  },
50
48
  "peerDependencies": {
51
- "prom-client": ">=12 <=14"
49
+ "prom-client": ">=12 <=15"
52
50
  },
53
51
  "dependencies": {
54
52
  "@loke/context": "^0.0.1",
55
- "ajv": "^8.11.0",
53
+ "ajv": "^8.17.1",
56
54
  "on-finished": "^2.4.1"
57
55
  }
58
56
  }