удалить кодировку из Content-type в экспресс-ответе

Я работаю над следующим вызовом API, используя экспресс-библиотеку:

router.get('/WebServers', (req, res) => {
  log.debug('api v2 - List WebServers');
  const servers = webServersModel.transformWebServers();
  res.set('Content-Type', 'application/json');
  res.json({WebServers: servers});
});

Мой клиент по какой-то неизвестной причине принимает только заголовки http с типом контента: «application/json», однако экспресс, похоже, добавляет «; charset = utf-8» ко всем моим ответам. покопавшись, я нашел этот фрагмент кода в файле express/lib/response.js: введите здесь описание изображения

Express, похоже, жестко кодирует добавление кодировки к ответу. следуя этому коду, я попытался добавить в начало своего кода следующую строку: express.static.mime.charsets.lookup=function() {};, однако это не сработало. есть идеи, как это решить?


person Omri Shneor    schedule 13.09.2018    source источник


Ответы (1)


Замените res.set() на res.writeHead(). Поправили мне на прошлой неделе :)

person Jamie Wittenberg    schedule 25.01.2019