Как вернуть ответ API через http-прокси с KoaJs - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь создать 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 проходит, но я не могу перехватить ответ при любом обратном вызове и отправить его пользователю асинхронным способом.
Любая помощь высоко ценится.

...