Используйте метод Express JS.all(): определите, какой VERB был фактически использован - программирование
Подтвердить что ты не робот

Используйте метод Express JS.all(): определите, какой VERB был фактически использован

Я собираюсь создать конечную точку /api, слепо проксируя запросы и ответы назад и вперед в устаревшую систему API RESTful (написанную на Ruby и размещенную в другом домене).

Это промежуточный переходный шаг, поэтому он должен работать.

Итак, я вижу, как это можно легко достичь с помощью app.all(). Но поскольку API RESTful, я также должен поддерживать HTTP-глагол, используемый для запроса, - так, могу ли я обнаружить его из объекта req? Если нет, я, конечно, могу подписаться на 5 обработчиков для GET, PUT, POST, DELETE, OPTIONS, но гораздо лучше избежать этого.

Также, как мне обращаться с телом запроса (строка запроса и полезная нагрузка)? Я предполагаю, что мне нужно вручную воссоздать строку запроса из разбора req.query и передать req.body в request https://github.com/mikeal/request как это - правильно?

4b9b3361

Ответ 1

Думаю, вам все нужно req.method. Чтобы иметь дело с телом, добавьте промежуточное ПО express.bodyParser().

Ответ 2

Если вы просто хотите передать запросы и вернуть ответ, вы ищете прокси.

Я бы рекомендовал проверить node-http-proxy. Просто загрузите прокси-библиотеку, запустите прокси и прокси-сервер для всех запросов.