mirror of
https://github.com/BreizhHardware/express-prom-bundle.git
synced 2026-03-18 21:30:38 +01:00
Use statuscode 499 for requests that are closed before response is sent
This happens, for example, when a http proxy in front of the application is configured with a timeout and the node server is too slow to respond. Currently such timeouts are counted as 200s by express-prom-bundle. This PR changes that to 499 "Client Closed Request". This way it's possible to tell them apart.
This commit is contained in:
@@ -6,7 +6,11 @@ const normalizeStatusCode = require('../src/normalizeStatusCode');
|
|||||||
describe('normalizeStatusCode', () => {
|
describe('normalizeStatusCode', () => {
|
||||||
it('returns run callback if configured', () => {
|
it('returns run callback if configured', () => {
|
||||||
expect(
|
expect(
|
||||||
normalizeStatusCode({status_code: 500})
|
normalizeStatusCode({status_code: 500, headersSent: true})
|
||||||
).toBe(500);
|
).toBe(500);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('returns 499 if headers are not sent', () => {
|
||||||
|
expect(normalizeStatusCode({statusCode: 200, headersSent: false})).toBe(499);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const CLIENT_CLOSED_REQUEST_CODE = 499;
|
||||||
|
|
||||||
module.exports = function(res) {
|
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;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user