From f63394bf6411f55579174af0ede477cf914b22de Mon Sep 17 00:00:00 2001 From: Bogdan Deren Date: Mon, 11 Jun 2018 15:17:37 +0200 Subject: [PATCH] cache key fix --- index.js | 19 ++++++------------- package.json | 2 +- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/index.js b/index.js index c93cb01..167507b 100644 --- a/index.js +++ b/index.js @@ -39,39 +39,32 @@ module.exports = class ApolloServerRedisCache { */ const names = req.body.filter(q => q.operationName).map(q => q.operationName) queryOperationName = names && names.length ? names.join(',') : null - queryHash = _hashSum(queryOperationName + req.body) + queryHash = _hashSum(queryOperationName + JSON.stringify(req.body)) } else if (req.method === 'POST' && req.body && req.body.operationName) { /** * POST single query */ + queryOperationName = req.body.operationName - queryHash = _hashSum(queryOperationName + req.body) + queryHash = _hashSum(queryOperationName + JSON.stringify(req.body)) } else if (req.method === 'POST' && req.body && !req.body.operationName) { /** * POST query without operationName (it is possible and we need to cache them) */ queryOperationName = 'unknown' - queryHash = _hashSum(queryOperationName + req.body) + queryHash = _hashSum(queryOperationName + JSON.stringify(req.body)) } else if (req.query && req.query.operationName) { /** * GET query */ queryOperationName = req.query.operationName - if (req.query.query && req.query.variables) { - queryHash = _hashSum(queryOperationName + req.query.query + req.query.variables) - } else if (req.query.query && !req.query.variables) { - queryHash = _hashSum(queryOperationName + req.query.query) - } else if (!req.query.query && req.query.variables) { - queryHash = _hashSum(queryOperationName + req.query.variables) - } else { - queryHash = _hashSum(queryOperationName) - } + queryHash = _hashSum(queryOperationName + JSON.stringify(req.query)) } else if (req.query.query && !req.query.operationName) { /** * GET query without operationName (it is possible and we need to cache them) */ queryOperationName = 'unknown' - queryHash = _hashSum(queryOperationName + req.query.query) + queryHash = _hashSum(queryOperationName + JSON.stringify(req.query)) } else { /** * Unknown query, I give up diff --git a/package.json b/package.json index 95b17ca..1697b41 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "apollo-server-redis-cache", - "version": "0.1.13", + "version": "0.1.14", "structureVersion": "0.1.13", "description": "Apollo GraphQL server redis cache middleware", "main": "index.js",