From c0b0edc00e2b98599961d5fb486857dfc3efc156 Mon Sep 17 00:00:00 2001 From: elpatron Date: Thu, 2 Oct 2025 01:09:46 +0200 Subject: [PATCH] Fix: Improve RPC error handling and routing - Changed from rpcApp.use to rpcApp.all for better route handling - Added proper error handling with try-catch - Return 404 for unmatched routes instead of calling next() - Return 500 for internal server errors - Improves RPC endpoint reliability and debugging --- src/server/routes/rpc.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/server/routes/rpc.ts b/src/server/routes/rpc.ts index 55db437..e6b8ba2 100644 --- a/src/server/routes/rpc.ts +++ b/src/server/routes/rpc.ts @@ -7,15 +7,19 @@ export const rpcApp = new Hono(); const handler = new RPCHandler(router); -rpcApp.use("/*", async (c, next) => { - const { matched, response } = await handler.handle(c.req.raw, { - prefix: "/rpc", - }); +rpcApp.all("/*", async (c) => { + try { + const { matched, response } = await handler.handle(c.req.raw, { + prefix: "/rpc", + }); - if (matched) { - return c.newResponse(response.body, response); + if (matched) { + return c.newResponse(response.body, response); + } + + return c.json({ error: "Not found" }, 404); + } catch (error) { + console.error("RPC Handler error:", error); + return c.json({ error: "Internal server error" }, 500); } - - await next(); - return; });