如何检查Node.js中的标头?

时间:2018-09-19 15:15:13

标签: node.js express http-headers

这是可以正常工作的实际代码,但我想检查我的标头是否正确传输到我的api:

plotBands: [{
  from: 0,
  to: 0.5
}]

所以我的问题很笼统,如何在Node js应用程序中检查呼叫的标题?

2 个答案:

答案 0 :(得分:1)

根据文档,您需要req.get函数。您还可以将req.headers对象与所有发送的标头一起使用。

代码示例:

const request = require('request');
const express = require('express');
const router = express.Router();

router.get('/:locale/:sportId/:federationId/:date', (req, res) => {
  // destructuring assignment for better readability
  const { date, locale, sportId, federationId } = req.params;

  // header example with get
  const authHeader = req.get('Authorization');
  console.log(authHeader);
  // example with headers object
  console.log(req.headers);


  request(getEventsOptions(sportId, federationId, date, locale), (error, response, body) => {
    res.send(body);
  });
});

function getEventsOptions(sportId, federationId, date, locale) {
  return {
    url: `http://myapi.com/event/sport/${sportId}/date-from/${date}`,
    headers: {
      'accept': 'application/json',
      'dateTo': date,
      'federationIds': federationId,
      'X-Application-ID': 'sporter',
      'Accept-Language': locale,
    }
  };
}

答案 1 :(得分:1)

有三种方法可以做到这一点:

首先,使用req.get函数:

req.get('headerName');

第二,使用req.header函数:

req.header('headerName');

第三,使用req.headers实际对象:

req.headers['headerName'];

希望对您有帮助。