Я заменил request-promise
на node-fetch
. Все работает хорошо, за исключением одного запроса, который отправляет данные формы в конечную точку, которую я, к сожалению, не могу здесь предоставить. Это код, который работает с request-promise
:
const options = {
method: 'POST',
uri: keys.endpointUrl,
formData: {
operations: JSON.stringify(operations),
map: JSON.stringify(map)
},
json: true
};
const response = await request(options);
После перехода на node-fetch
это выглядит так:
const FormData = require('formdata-node');
const form = new FormData();
form.set('operations', JSON.stringify(operations));
form.set('map', JSON.stringify(map));
const opts = {
method: 'POST',
body: form
};
const res = await fetch(keys.endpointUrl, opts);
console.log(res);
const response = res.json();
res
регистрируется как:
Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]: {
body: PassThrough {
_readableState: [ReadableState],
readable: true,
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_writableState: [WritableState],
writable: false,
allowHalfOpen: true,
_transformState: [Object],
[Symbol(kCapture)]: false
},
disturbed: false,
error: null
},
[Symbol(Response internals)]: {
status: 500,
statusText: 'Internal Server Error',
headers: Headers { [Symbol(map)]: [Object: null prototype] }
}
}
Я пытался добавить разные заголовки, но, к сожалению, это не помогло. Что мне не хватает?
NodeJS: v12.16.1 node-fetch: 2.6.0