Я использую hapi v6.11.1 и пытаюсь выполнить условно перенаправить встречный запрос с моего сервера hapi.js на другой сервер. Это то, чем я до сих пор занимаюсь:
server.on('onRequest',function(request,reply) {
if(request.headers.customHeader) { // redirect only if header found
reply('custom header redirection').redirect('http://someurl.com');
return;
}
reply();
});
но вышеприведенное решение не будет работать и по-прежнему удаляет мой сервер, а не тот, который я укажу.
Я попытался выполнить answer.proxy() в обработчике onRequest и получил следующую ошибку:
Ошибка: ошибка со сбоем: не может прокси-сервер, если обрабатывается полезная нагрузка, или если вывод не является потоком или данными
При попытке выяснить решение я натолкнулся на следующее из hapi.js docs:
Доступно только в методе обработчика и только перед одним из ответов(), reply.file(), reply.view(), reply.close(), reply.proxy() или reply.redirect().
но проблема в том, что у меня около 100 маршрутов, и теперь мне нужно будет изменить обработчик для каждого запроса, чтобы разрешить проксирование, если мое условие выполнено, что я не хочу делать.
Буду рад, если возможно одно из следующих:
-
Перенаправить запрос из "onResponse" в другой домен и не изменять функцию обработчика.
-
Серверный метод, который позволяет мне настроить всю конфигурацию маршрутов и ввести перенаправление прокси-сервера.
Спасибо.