Установите динамические заголовки в axios из приложения ExpressJS - PullRequest
1 голос
/ 31 мая 2019

У меня есть требование, где мне нужно установить заголовок Request-Id с каждым запросом axios.Значение этого заголовка динамически генерируется другим промежуточным программным обеспечением.

Теперь я могу сделать:

axios.get(url, headers: {'Request-Id': req.requestId});

Но я хотел бы переместить эту абстракцию в какое-то обычное место, чтобы ее можно было использовать везде,Я разработал специальное промежуточное программное обеспечение Express:

app.use(function (req, res, next) {
  req.fetch = axios;
  req.fetch.defaults.headers.common['Request-Id'] = req.requestId;
  next();
})

Теперь я могу использовать req.fetch на любом маршруте без необходимости индивидуальной настройки заголовка, но рекомендуется ли этот подход?Было бы полезно, если бы кто-то мог объяснить, есть ли у этого подхода какие-либо подводные камни или лучшее решение.

1 Ответ

1 голос
/ 31 мая 2019

Мне кажется, сейчас это нормально.

Вы также можете использовать некоторый конфигурационный файл, чтобы позволить серверу потреблять или не использовать ваше промежуточное ПО, которое вы только что написали:)

Может быть, другие люди расскажут нам свои мысли об этом

...