diff --git a/lib/cartodb/middleware/context/credentials.js b/lib/cartodb/middleware/context/credentials.js index b2024e99..b202de47 100644 --- a/lib/cartodb/middleware/context/credentials.js +++ b/lib/cartodb/middleware/context/credentials.js @@ -6,6 +6,7 @@ module.exports = function credentials () { res.locals.api_key = apikeyCredentials.token; res.locals.basicAuthUsername = apikeyCredentials.username; + res.set('vary', 'Authorization'); //Honor Authorization header when caching. return next(); }; diff --git a/test/acceptance/cache/cache_headers.js b/test/acceptance/cache/cache_headers.js index e7d8caf3..a4ce7285 100644 --- a/test/acceptance/cache/cache_headers.js +++ b/test/acceptance/cache/cache_headers.js @@ -155,6 +155,7 @@ describe('get requests with cache headers', function() { assert.ok(res.headers['x-cache-channel']); assert.ok(res.headers['surrogate-key']); + assert.equal(res.headers.vary, 'Authorization'); if (expectedCacheHeaders) { validateXChannelHeaders(res.headers, expectedCacheHeaders); assert.equal(res.headers['surrogate-key'], expectedCacheHeaders.surrogate_keys); diff --git a/test/unit/cartodb/prepare-context.test.js b/test/unit/cartodb/prepare-context.test.js index 2f6d80a3..283c4fdc 100644 --- a/test/unit/cartodb/prepare-context.test.js +++ b/test/unit/cartodb/prepare-context.test.js @@ -61,6 +61,8 @@ describe('prepare-context', function() { } res.locals.user = 'localhost'; + res.set = function () {}; + return res; }