From c02d3d33e985eb9607793bb1c0756c7780491cb9 Mon Sep 17 00:00:00 2001 From: jomo Date: Mon, 7 Nov 2016 04:08:19 +0100 Subject: [PATCH] don't respond with 304 on error when debugging is enabled --- lib/response.js | 3 ++- test/test.js | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/response.js b/lib/response.js index 4c761d2..31d38da 100644 --- a/lib/response.js +++ b/lib/response.js @@ -70,7 +70,8 @@ module.exports = function(request, response, result) { // handle etag caching var incoming_etag = request.headers["if-none-match"]; // also respond with 304 on server error (use client's version) - if (incoming_etag && (incoming_etag === etag || result.status === -1)) { + // don't respond with 304 when debugging is enabled + if (incoming_etag && (incoming_etag === etag || result.status === -1 && !config.server.debug_enabled)) { response.writeHead(304, headers); response.end(); return; diff --git a/test/test.js b/test/test.js index 8b6bc41..8cfb25c 100644 --- a/test/test.js +++ b/test/test.js @@ -801,12 +801,15 @@ describe("Crafatar", function() { }); it("should return 304 on server error", function(done) { + var original_debug = config.server.debug_enabled; var original_timeout = config.server.http_timeout; + config.server.debug_enabled = false; config.server.http_timeout = 1; request.get({url: "http://localhost:3000/avatars/whatever", headers: {"If-None-Match": '"some-etag"'}}, function(error, res, body) { assert.ifError(error); assert.ifError(body); assert.strictEqual(res.statusCode, 304); + config.server.debug_enabled = original_debug; config.server.http_timeout = original_timeout; done(); });