Я пытаюсь создать Zuul как прокси-шлюз, используя узел. По сути, он получит любой запрос и выполнит некоторую проверку перед отправкой в исходный API; но для этого нужно получить ответ и отправить обратно первоначальному пользователю.
Для этого я выбираю http-прокси с KoaJs. Ниже приведен мой код:
const Koa = require('koa')
const httpProxy = require('http-proxy')
const app = new Koa()
const apiProxy = httpProxy.createProxyServer({ target: "https://jsonplaceholder.typicode.com/posts", changeOrigin: true, ws: false, proxyTimeout: 5000 })
app.use(async ctx => {
apiProxy.web(ctx.req, ctx.res, e => {
console.log(e)
})
apiProxy.on('proxyRes', (proxyRes, req, res) => {
ctx.resp = proxyRes.body
})
})
app.listen(3000)
Теперь проблема в том, что вызов API проходит, но я не могу перехватить ответ при любом обратном вызове и отправить его пользователю асинхронным способом.
Любая помощь высоко ценится.