Skip to content

Commit a00dceb

Browse files
authored
fix(remix): Prevent crashes from failed normalizeRemixRequest calls. (#6296)
Wrap `normalizeRemixRequest` calls inside `try` blocks, not to break users' builds / runtimes.
1 parent f1e59f9 commit a00dceb

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

packages/remix/src/utils/instrumentServer.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,13 @@ async function captureRemixServerException(err: Error, name: string, request: Re
9393
return;
9494
}
9595

96-
const normalizedRequest = normalizeRemixRequest(request as unknown as any);
96+
let normalizedRequest: Record<string, unknown> = request as unknown as any;
97+
98+
try {
99+
normalizedRequest = normalizeRemixRequest(request as unknown as any);
100+
} catch (e) {
101+
__DEBUG_BUILD__ && logger.warn('Failed to normalize Remix request');
102+
}
97103

98104
captureException(isResponse(err) ? await extractResponseError(err) : err, scope => {
99105
const activeTransactionName = getActiveTransaction()?.name;
@@ -389,7 +395,13 @@ function wrapRequestHandler(origRequestHandler: RequestHandler, build: ServerBui
389395
const options = hub.getClient()?.getOptions();
390396
const scope = hub.getScope();
391397

392-
const normalizedRequest = normalizeRemixRequest(request);
398+
let normalizedRequest: Record<string, unknown> = request;
399+
400+
try {
401+
normalizedRequest = normalizeRemixRequest(request);
402+
} catch (e) {
403+
__DEBUG_BUILD__ && logger.warn('Failed to normalize Remix request');
404+
}
393405

394406
const url = new URL(request.url);
395407
const [name, source] = getTransactionName(routes, url, pkg);

0 commit comments

Comments
 (0)