Skip to content

Commit c368bc8

Browse files
authored
fix(remix): Pass loadContext through wrapped document request function (#8268)
Ensure that the loadContext created in the remix server is passed through to `app/entry.server.ts` in the document request handler. Fixes issue #8265.
1 parent 6208e57 commit c368bc8

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

packages/remix/src/utils/instrumentServer.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,15 @@ function makeWrappedDocumentRequestFunction(
113113
responseStatusCode: number,
114114
responseHeaders: Headers,
115115
context: Record<symbol, unknown>,
116+
loadContext?: Record<string, unknown>,
116117
): Promise<Response> {
117118
let res: Response;
118119

119120
const activeTransaction = getActiveTransaction();
120121
const currentScope = getCurrentHub().getScope();
121122

122123
if (!currentScope) {
123-
return origDocumentRequestFunction.call(this, request, responseStatusCode, responseHeaders, context);
124+
return origDocumentRequestFunction.call(this, request, responseStatusCode, responseHeaders, context, loadContext);
124125
}
125126

126127
try {
@@ -133,7 +134,14 @@ function makeWrappedDocumentRequestFunction(
133134
},
134135
});
135136

136-
res = await origDocumentRequestFunction.call(this, request, responseStatusCode, responseHeaders, context);
137+
res = await origDocumentRequestFunction.call(
138+
this,
139+
request,
140+
responseStatusCode,
141+
responseHeaders,
142+
context,
143+
loadContext,
144+
);
137145

138146
span?.finish();
139147
} catch (err) {

packages/remix/src/utils/types.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,13 @@ export interface ServerBuild {
127127
}
128128

129129
export interface HandleDocumentRequestFunction {
130-
(request: RemixRequest, responseStatusCode: number, responseHeaders: Headers, context: EntryContext):
131-
| Promise<Response>
132-
| Response;
130+
(
131+
request: RemixRequest,
132+
responseStatusCode: number,
133+
responseHeaders: Headers,
134+
context: EntryContext,
135+
loadContext?: AppLoadContext,
136+
): Promise<Response> | Response;
133137
}
134138

135139
export interface HandleDataRequestFunction {

0 commit comments

Comments
 (0)