RunMiddleware creates a strimmed down response object that prevents SSR applications from forwarding a HTTP status code. We hit a case with Angular, where setting the correct status code for some pages works in Express, but fails when the same resource is retrieved via runMiddleware.
In general, I don't think supporting a full Response object would slow down or add excessive complexity to RunMiddleware, but at least provide methods and entries for statusCode and statusMessage.
function createRes(callback) {
var res = {
_removedHeader: {},
_statusCode: 200,
statusMessage: 'OK'
get statusCode() {
return this._statusCode
},
set statusCode(status) {
this._statusCode = status
this.status(status)
}
};
// some code has been left out
res.status = res.sendStatus = function(number) {
console.log('[runMiddleware] res.status', number, res);
code = number;
return res;
};
RunMiddleware creates a strimmed down response object that prevents SSR applications from forwarding a HTTP status code. We hit a case with Angular, where setting the correct status code for some pages works in Express, but fails when the same resource is retrieved via runMiddleware.
In general, I don't think supporting a full Response object would slow down or add excessive complexity to RunMiddleware, but at least provide methods and entries for statusCode and statusMessage.