Skip to content

Commit e194090

Browse files
committed
chore: replace hardcoded error codes with rpc error constants
1 parent c3141a0 commit e194090

3 files changed

Lines changed: 10 additions & 29 deletions

File tree

package-lock.json

Lines changed: 0 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/jrpc/jrpc.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Duplex } from "readable-stream";
22

3+
import { errorCodes } from "./errors";
34
import { AsyncJRPCMiddleware, ConsoleLike, IdMap, JRPCMiddleware, JRPCRequest, JRPCResponse, Json, ReturnHandlerCallback } from "./interfaces";
45
import { SafeEventEmitter } from "./safeEventEmitter";
56
import { SerializableError } from "./serializableError";
@@ -21,7 +22,7 @@ export function createErrorMiddleware(log: ConsoleLike): JRPCMiddleware<unknown,
2122
try {
2223
// json-rpc-engine will terminate the request when it notices this error
2324
if (typeof req.method !== "string" || !req.method) {
24-
res.error = new SerializableError({ code: -32603, message: "invalid method" });
25+
res.error = new SerializableError({ code: errorCodes.rpc.invalidRequest, message: "invalid method" });
2526
end();
2627
return;
2728
}
@@ -35,7 +36,7 @@ export function createErrorMiddleware(log: ConsoleLike): JRPCMiddleware<unknown,
3536
});
3637
} catch (error: unknown) {
3738
log.error(`Auth - RPC Error thrown: ${(error as Error).message}`, error);
38-
res.error = new SerializableError({ code: -32603, message: (error as Error).message });
39+
res.error = new SerializableError({ code: errorCodes.rpc.internal, message: (error as Error).message });
3940
end();
4041
}
4142
};

src/jrpc/jrpcEngine.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ export type JrpcEngineEvents = {
2525
function constructFallbackError(error: Error): JRPCError {
2626
const {
2727
message = "",
28-
code = -32603,
28+
code = errorCodes.rpc.internal,
2929
stack = "Stack trace is not available.",
3030
data = "",
3131
} = error as { message?: string; code?: number; stack?: string; data?: string };
32-
const codeNumber = parseInt(code?.toString() || "-32603");
32+
const codeNumber = parseInt(code?.toString() || errorCodes.rpc.internal.toString());
3333
return {
3434
message: message || error?.toString() || getMessageFromCode(codeNumber),
3535
code: codeNumber,
@@ -116,7 +116,7 @@ export class JRPCEngine extends SafeEventEmitter<JrpcEngineEvents> {
116116
} else {
117117
if (returnHandler) {
118118
if (typeof returnHandler !== "function") {
119-
end(new SerializableError({ code: -32603, message: "JRPCEngine: 'next' return handlers must be functions" }));
119+
end(new SerializableError({ code: errorCodes.rpc.internal, message: "JRPCEngine: 'next' return handlers must be functions" }));
120120
}
121121
returnHandlers.push(returnHandler);
122122
}
@@ -152,10 +152,10 @@ export class JRPCEngine extends SafeEventEmitter<JrpcEngineEvents> {
152152
*/
153153
private static _checkForCompletion(_req: JRPCRequest<unknown>, res: JRPCResponse<unknown>, isComplete: boolean): void {
154154
if (!("result" in res) && !("error" in res)) {
155-
throw new SerializableError({ code: -32603, message: "Response has no error or result for request" });
155+
throw new SerializableError({ code: errorCodes.rpc.internal, message: "Response has no error or result for request" });
156156
}
157157
if (!isComplete) {
158-
throw new SerializableError({ code: -32603, message: "Nothing ended request" });
158+
throw new SerializableError({ code: errorCodes.rpc.internal, message: "Nothing ended request" });
159159
}
160160
}
161161

@@ -312,12 +312,12 @@ export class JRPCEngine extends SafeEventEmitter<JrpcEngineEvents> {
312312
*/
313313
private async _handle(callerReq: JRPCRequest<unknown>, cb: (error: unknown, response: JRPCResponse<unknown>) => void): Promise<void> {
314314
if (!callerReq || Array.isArray(callerReq) || typeof callerReq !== "object") {
315-
const error = new SerializableError({ code: -32603, message: "request must be plain object" });
315+
const error = new SerializableError({ code: errorCodes.rpc.invalidRequest, message: "request must be plain object" });
316316
return cb(error, { id: undefined, jsonrpc: "2.0", error });
317317
}
318318

319319
if (typeof callerReq.method !== "string") {
320-
const error = new SerializableError({ code: -32603, message: "method must be string" });
320+
const error = new SerializableError({ code: errorCodes.rpc.invalidRequest, message: "method must be string" });
321321
return cb(error, { id: callerReq.id, jsonrpc: "2.0", error });
322322
}
323323

0 commit comments

Comments
 (0)