как несколько HttpHeader (с тем же именем) в ExpressJS

Мой код Php можно отправить два заголовка с тем же именем, в php второй параметр для замены или переопределения. но в ExpressJS res.header не похоже на PHP-код
PHP-код:

header("Link: <http://$prefetch_next_img>; rel=prefetch",false);
header("Link: <http://$prefetch_next_img2>; rel=prefetch",false);

http://us2.php.net/manual/en/function.header.php

ExpressJS (NodeJS):

res.header('Link','Fake Value');
res.header('Link','Only Send it'); // previous header replaced

0

Решение

В конечном итоге вам нужно будет передать массив, чтобы установить несколько значений для одного и того же заголовка.

res.header('Set-Cookie', ['foo', 'bar']);

Смотря на библиотека ответов Для экспресса мы можем увидеть следующие примеры:

/**
* Set header `field` to `val`, or pass
* an object of header fields.
*
* Examples:
*
*    res.set('Foo', ['bar', 'baz']);
*    res.set('Accept', 'application/json');
*    res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
*
* Aliased as `res.header()`.
*
* @param {String|Object} field
* @param {String|Array} val
* @return {ServerResponse} for chaining
* @public
*/

Более глубокое погружение в код показывает нам, что это на самом деле просто прокси для узла response.setHeader (), который следует в том же формате

Устанавливает одно значение заголовка для неявных заголовков. Если этот заголовок
уже существует в заголовках для отправки, его значение будет заменено.
Используйте массив строк здесь, если вам нужно отправить несколько заголовков с
одно и то же имя

response.setHeader('Set-Cookie', ['type=ninja', 'language=javascript']);
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector