Сообщение от Aetae
|
It depends...
В самом простом случае для которого ты всегда легко найдёшь инструменты и мануалы - да, придётся распаковать и запаковать снова.
Если очень хочется - никто тебе не помешает отредактировать сырой HTTP запрос и переотправить его, не трогая нагрузку, однако это уже низкоуровневые манипуляции которые тебе придётся писать самому, разбираясь в деталях.
Возможно тебе вообще ничего не нужно менять в запросе? Тогда тебе проще будет воспользоваться просто проксированием запроса, вообще не трогая руками содержимое. Готовых и доступных решений для проксирования тоже множество.
|
Помогите пожалуйста. Как вы и посоветовали пробую отправлять запрос через прокси "express-http-proxy", если делать обычные запросы POST/GET без FormData всё замечательно работает, но как только добавляю FormData сразу возвращает ошибку со статусом 500, а если добавить в форму ещё и файл, то вернёт net::ERR_CONNECTION_ABORTED.
Клиент:
const data = {};
const formData = new FormData();
Array.from(createPostForm.elements)
.forEach(({ name, type, value, files, ...element }) => {
if (!['submit', 'file'].includes(type)) {
data[name] = value;
} else if (type === 'file') {
Array.from(files).forEach((file) => {
formData.append(`files.${name}`, file, file.name);
});
}
});
formData.append('data', JSON.stringify(data));
// Адрес который принимает запрос после прокси [url]http://test.ru:1337/api/post[/url]
fetch('http://test.ru/example/api/post', {
method: 'POST',
body: formData
})
.then(response => response.json() )
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});
Сервер:
router.use('/example', proxy('http://test.ru:1337')