'How to remove/delete (not reset or modify) response headers in hapi.js
Able to modify the response headers with onPreHandler/onPostHandler extention in hapi js. But not able to delete the key, value pair entirely. How to delete/remove response headers without setting it's value to null or undefied.
server.ext("onPreResponse", async (request, h) => {
if (request.response.isBoom) {
request.response.output.headers["server"] = "";
request.response.output.headers["x-powered-by"] = "";
} else {
if (request.response && request.response.headers) {
request.response.header("server", "");
request.response.header("x-powered-by", "");
}
}
return h.continue;
});
Solution 1:[1]
Since request.response.output.headers & request.response.header are of {} you can use delete operator to delete the key
delete request.response.output.headers["server"];
delete request.response.output.headers["x-powered-by"];
Or
delete request.response.headers["server"];
delete request.response.headers["x-powered-by"];
Code:
server.ext("onPreResponse", async (request, h) => {
if (request.response.isBoom && request.response.output && request.response.output.headers) {
delete request.response.output.headers["server"];
delete request.response.output.headers["x-powered-by"];
}
else if (request.response && request.response.headers) {
delete request.response.header["server"];
delete request.response.header["x-powered-by"];
}
return h.continue;
});
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Chandan |
