diff --git a/lib/core/status-handlers.js b/lib/core/status-handlers.js index 265b399e..78c1772a 100644 --- a/lib/core/status-handlers.js +++ b/lib/core/status-handlers.js @@ -54,7 +54,11 @@ exports['416'] = (res, next) => { // flagrant error exports['500'] = (res, next, opts) => { res.statusCode = 500; - res.setHeader('content-type', 'text/html'); + try { + res.setHeader('content-type', 'text/html'); + } catch (e) { + // errors may have triggered headers being sent already, make sure we don't hide the underlying error + } const error = String(opts.error.stack || opts.error || 'No specified error'); const html = `${[ '', diff --git a/package.json b/package.json index 7316ac95..fc9a7d9a 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ ], "man": "./doc/http-server.1", "engines": { - "node": ">=12" + "node": ">=12.16" }, "contributors": [ {