routing-controllers
routing-controllers copied to clipboard
'Can't set headers after they are sent' error when using Express middleware 'after' request.
import {Middleware, ExpressErrorMiddlewareInterface} from "routing-controllers";
@Middleware({ type: "after" })
export class CustomErrorHandler implements ExpressErrorMiddlewareInterface {
error(error: any, request: any, response: any, next: (err: any) => any) {
console.log("do something...");
next();
}
}
This example code from the documentation causes a 'Can't set headers after they are sent' error. Changing the type to 'before' fixes the issue.
Error: Can't set headers after they are sent.
at validateHeader (_http_outgoing.js:504:11)
at ServerResponse.setHeader (_http_outgoing.js:511:3)
at dnsPrefetchControl (C:\Programming\pbc\server\auth-server\node_modules\dns-prefetch-control\index.js:9:11)
at call (C:\Programming\pbc\server\auth-server\node_modules\connect\index.js:239:7)
at next (C:\Programming\pbc\server\auth-server\node_modules\connect\index.js:183:5)
at Function.handle (C:\Programming\pbc\server\auth-server\node_modules\connect\index.js:186:3)
at app (C:\Programming\pbc\server\auth-server\node_modules\connect\index.js:51:37)
at Layer.handle [as handle_request] (C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\index.js:317:13)
at C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\index.js:335:12)
at next (C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\index.js:275:10)
at compression (C:\Programming\pbc\server\auth-server\node_modules\compression\index.js:220:5)
at Layer.handle [as handle_request] (C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\index.js:317:13)
at C:\Programming\pbc\server\auth-server\node_modules\express\lib\router\index.js:284:7