Open
Description
I am trying to write a header on the response object from within the proxy:
// dependencies var httpProxy = require('./lib/node-http-proxy'), http = require('http'); // // Setup proxy server on 8000 // var server = httpProxy.createServer(function (req, res, proxy) { // fetch cookies var cookies = {}; req.headers.cookie && req.headers.cookie.split(';').forEach(function( cookie ) { var parts = cookie.split('='); cookies[ parts[ 0 ].trim() ] = ( parts[ 1 ] || '' ).trim(); }); console.log(cookies); // write session cookie res.writeHead(200, { 'Set-Cookie': 'token=12345678' }); // proxy requests to localhost:9000 proxy.proxyRequest(req, res, { host: 'localhost', port: 9000, }); }); server.listen(8000); // // Dummy target server on port 9000 (echo request) // http.createServer(function (req, res) { res.write('Echo service: ' + req.url + '\n' + JSON.stringify(req.headers, true, 2)); res.end(); }).listen(9000);
And http fails with "Cannot write header/s after they have been written." Reverse proxy documentation says nothing about setting cookies. What am I doing wrong?