繁体   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