Skip to content

Commit ff31468

Browse files
committed
feat(router): output server$ errors to server log
1 parent 9b73179 commit ff31468

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

.changeset/gentle-laws-see.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik.dev/router': minor
3+
---
4+
5+
FEAT: if a server$ function throws an error that is not a `ServerError`, it will now log the error on the server

packages/qwik-router/src/middleware/request-handler/resolve-request-handlers.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,18 +339,18 @@ function isAsyncIterator(obj: unknown): obj is AsyncIterable<unknown> {
339339
}
340340

341341
async function runServerFunction(ev: RequestEvent) {
342-
const fn = ev.query.get(QFN_KEY);
342+
const serverFnHash = ev.query.get(QFN_KEY);
343343
if (
344-
fn &&
345-
ev.request.headers.get('X-QRL') === fn &&
344+
serverFnHash &&
345+
ev.request.headers.get('X-QRL') === serverFnHash &&
346346
ev.request.headers.get('Content-Type') === 'application/qwik-json'
347347
) {
348348
ev.exit();
349349
const isDev = getRequestMode(ev) === 'dev';
350350
const data = await ev.parseBody();
351351
if (Array.isArray(data)) {
352352
const [qrl, ...args] = data;
353-
if (isQrl(qrl) && qrl.getHash() === fn) {
353+
if (isQrl(qrl) && qrl.getHash() === serverFnHash) {
354354
let result: unknown;
355355
try {
356356
if (isDev) {
@@ -364,6 +364,7 @@ async function runServerFunction(ev: RequestEvent) {
364364
if (err instanceof ServerError) {
365365
throw ev.error(err.status as ErrorCodes, err.data);
366366
}
367+
console.error(`Server function ${serverFnHash} failed:`, err);
367368
throw ev.error(500, 'Invalid request');
368369
}
369370
if (isAsyncIterator(result)) {

0 commit comments

Comments
 (0)