Skip to content

Commit 5a1e97c

Browse files
committed
fix: correctly pass request to context with fastify adapter
1 parent 8290923 commit 5a1e97c

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

packages/apollo/lib/drivers/apollo-base.driver.ts

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -238,23 +238,26 @@ export abstract class ApolloBaseDriver<
238238
originalOptions: ApolloDriverConfig = { ...targetOptions },
239239
) {
240240
if (!targetOptions.context) {
241-
targetOptions.context = async ({ req, request }) => ({
242-
req: req ?? request,
243-
});
241+
targetOptions.context = async (contextOrRequest) => {
242+
return {
243+
// New ApolloServer fastify integration has Request as first parameter to the Context function
244+
req: contextOrRequest.req ?? contextOrRequest,
245+
};
246+
};
244247
} else if (isFunction(targetOptions.context)) {
245248
targetOptions.context = async (...args: unknown[]) => {
246249
const ctx = await (originalOptions.context as Function)(...args);
247-
const { req, request } = args[0] as Record<string, unknown>;
248-
return this.assignReqProperty(ctx, req ?? request);
250+
const contextOrRequest = args[0] as Record<string, unknown>;
251+
return this.assignReqProperty(
252+
ctx,
253+
contextOrRequest.req ?? contextOrRequest,
254+
);
249255
};
250256
} else {
251-
targetOptions.context = async ({
252-
req,
253-
request,
254-
}: Record<string, unknown>) => {
257+
targetOptions.context = async (contextOrRequest) => {
255258
return this.assignReqProperty(
256259
originalOptions.context as Record<string, any>,
257-
req ?? request,
260+
contextOrRequest.req ?? contextOrRequest,
258261
);
259262
};
260263
}

0 commit comments

Comments
 (0)