#graphql #nestjs #apollo
Вопрос:
У меня есть перехватчик, который делает для меня некоторые журналы и показатели. Это работает нормально, за исключением случаев, когда ответ кэшируется.
Добавьте дополнительный кэш для Graphql, используя этот код
GraphQLModule.forRootAsync({
useFactory: (configService: ConfigService) => {
return {
// @ts-ignore
plugins: [responseCachePlugin({
cache: new BaseRedisCache({
client: new Redis(configService.get('redis'))
})
}),
plugin({captureScalars: true})
],
installSubscriptionHandlers: true,
autoSchemaFile: 'schema.gql',
introspection: true,
debug: process.env.DEBUG == 'true',
tracing: process.env.DEBUG == 'true',
playground: true,
cacheControl: {
defaultMaxAge: process.env.DEBUG == 'true' ? 60 : 600
},
context: ({req}) => ({
req
})
// cache: new InMemoryLRUCache(
// )
}
}, inject: [ConfigService]
}),
Как я могу перехватить кэшированный ответ? Я также хочу добавить его в метрики.