2014-10-08 33 views
-1

我試圖創建一個小的代理服務器,我可以編輯客戶端和服務器之間的請求和響應。編輯與請求和節點的響應正文

這是我到目前爲止有:

var express = require('express'); 
var app = express(); 
var request = require('request'); 


app.use('/login', function(req, res) { 

    var url = request.post({ 
     uri: 'http://192.168.1.53', 
     json: req.body 
    }); 

    req.pipe(url).pipe(res); 
}); 


app.listen(7501); 

它完全適用於我的情況。但我需要編輯請求和響應。 即返回的cookie和表單數據發送。 任何幫助將是偉大的。相當新的節點。

回答

0

以此結束 - 在express中接受請求,然後創建一個帶請求的新請求。然後發生一些魔法,通過快遞將第二個響應返回給客戶端。

app.use('/login', function(req, res) { 
request.post(
    'http://192.168.1.53', 
    { form: { req: 'auth', cid: '1', em: req.body.em, pw: req.body.pw, rm: true} }, 
    function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      var cookie = response.headers['set-cookie']; 
      console.log(cookie) 
      console.log(body) //using body-parser 

      res.header('Access-Control-Allow-Origin', '*'); 
      res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); 
      res.header('Access-Control-Allow-Headers', 'Content-Type'); 
      res.json({ success: true }); 
     } 
    } 
); 

});