@@ -238,23 +238,26 @@ export abstract class ApolloBaseDriver<
238
238
originalOptions : ApolloDriverConfig = { ...targetOptions } ,
239
239
) {
240
240
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
+ } ;
244
247
} else if ( isFunction ( targetOptions . context ) ) {
245
248
targetOptions . context = async ( ...args : unknown [ ] ) => {
246
249
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
+ ) ;
249
255
} ;
250
256
} else {
251
- targetOptions . context = async ( {
252
- req,
253
- request,
254
- } : Record < string , unknown > ) => {
257
+ targetOptions . context = async ( contextOrRequest ) => {
255
258
return this . assignReqProperty (
256
259
originalOptions . context as Record < string , any > ,
257
- req ?? request ,
260
+ contextOrRequest . req ?? contextOrRequest ,
258
261
) ;
259
262
} ;
260
263
}
0 commit comments