I'm trying to port a proxy feature that is used for debugging purposes from a hapi.js server to an express.js server.
The feature uses the https
module to retrieve data from a different server and I want to simply forward the response from this retrieval to the original client.
Simplified code:
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
});
});
In Hapi, I could do this easily with reply(proxiedResponse);
(reply
is Hapi's counterpart to res
) since reply
isn't an actual response object but a function that internally creates and dispatches a response.
Since in Express, res
is the actual response object I guess I need to replace/mod it somehow.
Is there a way to do this in an easier way than to explicitly copy every relevant piece of data from proxiedResponse
into res
?
via Mikael Lennholm
No comments:
Post a Comment