Estoy tratando de portar una función de proxy que se usa con fines de depuración desde un servidor hapi.js a un servidor express.js.
La característica usa el módulo https para recuperar datos de un servidor diferente y simplemente quiero reenviar la respuesta de esta recuperación al cliente original.
Código simplificado:
server.get('/proxy/*', (req, res) => { https.request({ protocol: 'https:', hostname: 'example.com', path: req.url.replace(/^\/proxy\//, ''), headers: Object.assign({}, req.headers) }, (proxiedResponse) => { // respond with proxiedResponse here somehow }); }); En Hapi, podría hacer esto fácilmente con reply(proxiedResponse); ( reply es la contraparte de Hapi para res ) ya que la reply no es un objeto de respuesta real sino una función que crea y envía una respuesta internamente.
Dado que en Express, res es el objeto de respuesta real, supongo que necesito reemplazarlo/modificarlo de alguna manera.
¿Hay alguna manera de hacer esto de una manera más fácil que copiar explícitamente todos los datos relevantes de proxiedResponse en res ?
Simplemente puede usar
res.send(proxiedResponse)