2013-06-18 18 views
5

Używam http-proxy na node.js. Mam żądanie proxy do innego serwera. moim wymaganiem jest, aby żądanie proxy miało limit czasu w ciągu 10 sekund. Również wtedy, gdy czas się dzieje, powinien być w stanie wyświetlać niestandardowy komunikat do użytkownikanode.js http-proxy jak ustawić limit czasu i handler na żądanie

Mam poniższy kod

var proxy = new httpProxy.RoutingProxy(); 
    req.on('error', function (err,req,res){ 
     res.send("An error occured"); 
    }); 
    proxy.proxyRequest(req, res, { 
    host: 'localhost', 
    port: port, 
    headers:req.headers, 
    timeout:10000 
    }) 

Ustawia limit czasu (z przyczyn nie znanych, to czasy w 17 secs), ale wywołanie zwrotne nie jest nigdy wykonywane. To tylko pokazuje standardową wiadomość przeglądarce

The connection was reset 
      The connection to the server was reset while the page was loading. 

góry dzięki

UPDATE:

Próbowałem

proxy.on('proxyError', function (err,preq,pres) { 
    pres.writeHead(500, { 'Content-Type': 'text/plain' }); 
    pres.write("An error happened at server. Please contact your administrator."); 
    pres.end(); 
    }); 

Tym razem metoda zostanie wywołana, ale twierdzi, że odpowiedź jest już wysłana, dlatego nie można ustawić nagłówków

Odpowiedz

2

Możesz spróbować wypróbować:

proxy.on('error', function(err, preq, pres){  
    pres.writeHead(500, { 'Content-Type': 'text/plain' }); 
    pres.write("An error happened at server. Please contact your administrator."); 
    pres.end(); 
}); 
Powiązane problemy