簡體   English   中英

Express:禁用特定路由的標頭(Etag、set-cookie 等)

[英]Express: Disable headers for specific routes (Etag, set-cookie, etc)

對於我的應用程序,我們有來自同一個應用程序的 rest API 和 webapp 服務器。 (小到沒有單獨部署)

有什么辦法可以排除所有/api/*路由路徑以禁用緩存和 cookie?

注意:我不能做app.disable('etag')因為它會禁用整個 webapp。

Afaik 這目前是不可能的 - 在 github 上也有一些未解決的問題,例如: https : //github.com/expressjs/express/issues/2472

作為一種解決方法,您可以使用以下內容刪除/api -route 上請求的標頭:

const onHeaders = require('on-headers')

// mount custom middleware for all api-requests
app.use("/api*", (req, res, next) => {
   removeHeaders(res);
   next();
});

function removeHeaders(res) {
  onHeaders(res, () => {
    res.removeHeader('ETag');
    // remove other headers ...
  });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM