- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2k
Open
Labels
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?