- У меня есть экземпляр запущенного сервера expressjs, который обслуживает SPA.
- Мой API живет на другом сервере, поэтому мне нужно отклонять запросы API.
- Я хочу создатьпромежуточное программное обеспечение, которое перенаправляет все эти запросы на другой хост, если оно удовлетворяет определенному условию.
- Обрабатываемые запросы - это те, которые имеют
target: API
в заголовках запросов
пока так выглядит мое промежуточное программное обеспечение, и я могу захватить выбранный запрос, который удовлетворяет условию:
function apiHelmet(req, res, next) {
if (req.get('target') === 'API') {
/*
find a way to redirect requests of all methods and pipe result to response
*/
return res.send(response_from_external_api)
}
return next()
}
мои настройки:
app.use(apiHelmet)
app.get('*', renderSPA)
пример пост-запроса:
axios({
method: 'POST',
data: { id: 123, first_name: 'john', last_name: 'doe' },
url: '/users',
headers: {
target: 'API'
}
} ).then(result=>console.log(result))