Я сталкиваюсь с очень странной проблемой при попытке использовать библиотеку https встроенного узла.
Заголовки запроса:
let requestDetails = {
hostname: 'api.domain.com',
method: 'POST',
path: '/endpointIWant/goHere
headers: {
'Client-ID': clientId,
'Content-Type': 'application/json',
Authorization: bearerToken
},
};
Тело запроса:
let body = JSON.stringify({
"content_type": "application/json",
"message" : message
});
Это мой стандартный вызов с использованием библиотеки https узла по умолчанию:
let req = https.request(requestDetails, function (res){
let responseBody = undefined;
res.on('body', function(res) {
responseBody = '';
});
res.on('data', function(chunk) {
responseBody += chunk;
});
res.on('end', function() {
console.log(responseBody);
});
});
req.write(body);
req.on('error', function(e) {
console.log(e);
});
req.end();
Теперь, когда я отправляю этот запрос соответствующему серверу, я получаю:
Your browser sent a request that this server could not understand.
Reference #7.24507368.1554749705.3185b29b
Однако, когдаЯ использую популярную библиотеку 'request' в NPM, она работает нормально, и я получаю ожидаемый ответ.
Это наводит на мысль, что есть нечто иное в «кодировании» или «чанкинге» запросов междуэти две библиотеки, но я не могу понять, что.
Кто-нибудь имеет опыт работы с библиотекой https узла и понимает, есть ли здесь какие-то ошибки?
Я предпочитаю максимально использовать встроенные библиотекичтобы размер моего пакета был низким.