簡體   English   中英

如何獲取當前在 Node/Express 中設置的 HTTP 響應標頭列表?

[英]How to get list of HTTP response headers currently set in Node/Express?

據我了解,當您在 node/express 或其他任何地方構建 http 響應時,該過程主要包括兩個非順序步驟:定義標題和構建正文。 標頭包括 Set-Cookie 標頭。 在 Express 中,響應對象可以使用以下方法來設置標頭:

res.append(); // To append/create headers
res.cookie(); // A convenience method to append set-cookie headers.

由於標頭僅被緩沖並且在發送響應之前並未實際發送,因此是否有任何方法或機制來獲取當前標頭集列表及其值,例如:

 headers = res.getHeaders(); //Returns an object with headers and values
 headers = res.getHeaders('Set-Cookie'); // To get only select headers

嘗試

console.log("res._headers >>>>>>>" + JSON.stringify(res._headers));

我已經設法使用response.getHeaders() (自 Node 7.7.0 開始可用)結合on-headers模塊來檢查正在發送的內容(包括 cookie)。 像這樣的東西:

import express from 'express'
import onHeaders from 'on-headers'

const router = express.Router()

function responseDebugger() {
  console.log(JSON.stringify(this.getHeaders()))
}

router.post('/', (req, res, next) => {
  onHeaders(res, responseDebugger)

  res.json({})
})

export default router

暫無
暫無

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

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