Open
Description
Currently when you throw an exception like NotFoundException or ConflictException, TRPC will throw it in a TRPCError format but it does not carry over the HTTP status code into the data property and it is always 500 Internal Server Error:
[
{
"error": {
"message": "Not Found",
"code": -32603,
"data": {
"code": "INTERNAL_SERVER_ERROR",
"httpStatus": 500,
"stack": "NotFoundException: Not Found\n at UserService.login (/Users/jae/Sites/ultima/apps/server/src/user/user.service.ts:31:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at resolveMiddleware (/Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/index.js:423:30)\n at callRecursive (/Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/index.js:453:32)\n at callRecursive (/Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/index.js:453:32)\n at resolve (/Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/index.js:483:24)\n at inputToProcedureCall (/Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/resolveHTTPResponse-b7a8a1c9.js:48:22)\n at async Promise.all (index 0)\n at Object.resolveHTTPResponse (/Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/resolveHTTPResponse-b7a8a1c9.js:184:37)\n at /Users/jae/Sites/ultima/node_modules/.pnpm/@trpc+server@10.45.1/node_modules/@trpc/server/dist/nodeHTTPRequestHandler-ad3e4860.js:69:9",
"path": "userRouter.login"
}
}
}
]
Metadata
Metadata
Assignees
Labels
No labels
Projects
Status
Todo