Мне нужно реализовать следующий рабочий процесс:
Сделать запрос № 1, получить ответ JSON.Управляйте этим объектом JSON, чтобы он мог использоваться в качестве полезной нагрузки во втором запросе.Сделайте второй запрос.
Первый запрос успешно выполнен.Я получил правильный объект JSON.Часть манипуляции также сделана и проверена.
Мне удалось создать правильную коллекцию почтальона для второго запроса.Он использует метод POST, имеет несколько заголовков, Content-type - multipart / form-data, а полезная нагрузка из запроса №1 отправляется как Raw (в теле, параметры none, form-data и т. Д. Я выбираю raw),
Я пытаюсь реализовать этот второй запрос, но получаю сообщение об ошибке, независимо от того, что я пытаюсь настроить.Вот мой код:
const manipulatedObject = await this._flattenPayload(payload);
const Request = require(request-promise);
const options = {
method: 'POST',
uri: 'https://second_request_url',
formData: {
file: {
value: manipulatedObject,
},
},
headers: {
Accept: 'application/json, text/plain, */*',
Connection: 'keep-alive',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryxxxxxxxxxxxxxxxx', // this is generated dynamically and matches the value in the manipulatedObject
cookie: this.cachedCookie,
'X-XSRF-TOKEN': this.cachedToken,
},
};
Request(options)
.then((body) => {
return body;
})
.catch((error) => {
return error;
});
* Полезная нагрузка параметра - это ответ на первый запрос .
Я получаю следующую ошибку:
message = source.on не является функцией, stack = TypeError: source.on не является функцией
Переменная ManagedObject является строкой.В настоящее время я копирую его значение из успешного запроса почтальона, чтобы избежать ошибок в процессе манипуляции.Случайный токен в заголовке Content-Type совпадает с токеном в строке managedulatedObject.Таким образом, данные идентичны тем, которые я использую в запросе почтальона.
Я подозреваю, что ошибка в том, как я отправляю данные, но у меня возникают проблемы с их выяснением.Я читал об этой ошибке, и она создается, когда объект передается в formData, но я отправляю строку, поэтому не понимаю, почему это происходит.