@tsed/platform-http
Version:
A TypeScript Framework on top of Express
25 lines (24 loc) • 745 B
JavaScript
/**
* @ignore
*/
export function setResponseHeaders(ctx) {
const { response, endpoint } = ctx;
const { operation } = endpoint;
if (ctx.isDone()) {
return;
}
if (!response.hasStatus()) {
// apply status only if the isn't already modified
response.status(operation.getStatus());
}
const statusCode = response.statusCode;
const headers = operation.getHeadersOf(statusCode);
Object.entries(headers).forEach(([key, item]) => {
if (!response.get(key) && item.example !== undefined) {
response.setHeader(key, String(item.example));
}
});
if (operation.isRedirection(statusCode)) {
response.redirect(statusCode, response.get("location"));
}
}