diff --git a/spec/normalizeStatusCode.spec.js b/spec/normalizeStatusCode.spec.js index d2720db..85e0cca 100644 --- a/spec/normalizeStatusCode.spec.js +++ b/spec/normalizeStatusCode.spec.js @@ -6,7 +6,11 @@ const normalizeStatusCode = require('../src/normalizeStatusCode'); describe('normalizeStatusCode', () => { it('returns run callback if configured', () => { expect( - normalizeStatusCode({status_code: 500}) + normalizeStatusCode({status_code: 500, headersSent: true}) ).toBe(500); }); + + it('returns 499 if headers are not sent', () => { + expect(normalizeStatusCode({statusCode: 200, headersSent: false})).toBe(499); + }); }); diff --git a/src/normalizeStatusCode.js b/src/normalizeStatusCode.js index 545bf2f..7c11c5c 100644 --- a/src/normalizeStatusCode.js +++ b/src/normalizeStatusCode.js @@ -1,5 +1,11 @@ 'use strict'; +const CLIENT_CLOSED_REQUEST_CODE = 499; + module.exports = function(res) { - return res.status_code || res.statusCode; + if (res.headersSent) { + return res.status_code || res.statusCode; + } else { + return CLIENT_CLOSED_REQUEST_CODE; + } };