balderdashy/sails · error
`headers` must be passed to res.writeHead() as an object. Go
Error message
`headers` must be passed to res.writeHead() as an object. Got: '+util.inspect(newHeaders, false, null)
What it means
Error "`headers` must be passed to res.writeHead() as an object. Got: '+util.inspect(newHeaders, false, null)" thrown in balderdashy/sails.
Source
Thrown at lib/router/res.js:124
var newHeaders = (function (){
if (arguments[2] && _.isObject(arguments[2])) {
return arguments[2];
}
return arguments[1];
})();
if (!statusCode) {
throw new Error('`statusCode` must be passed to res.writeHead().');
}
// Set status code
res.statusCode = statusCode;
// Ensure `._headers` have been merged into `.headers`
_.extend(res.headers, res._headers);
if (newHeaders) {
if (!_.isObject(newHeaders)) {
throw new Error('`headers` must be passed to res.writeHead() as an object. Got: '+util.inspect(newHeaders, false, null));
}
// Set new headers
_.extend(res.headers, newHeaders);
}
// Set status code and headers on the `_clientRes` stream so they are accessible
// to the provider of that stream.
// (this has to happen in `send()` because the code/headers might have just changed)
if (res._clientRes) {
// console.log('Setting headers on clientRes- res.headers = ',res.headers);
res._clientRes.headers = res.headers;
res._clientRes.statusCode = res.statusCode;
}
};
// Wrap res.write() and res.end() to get them to call writeHead()View on GitHub (pinned to 7b76422cc2)
When it happens
Trigger: Thrown at lib/router/res.js:124 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of balderdashy/sails@7b76422cc2 (2026-09-01).
Data as JSON: /api/errors/940e135d0ee2e3b6.
Report an issue: GitHub.