Skip to content

Commit

Permalink
[examples] update the error-handling example using the new error hand…
Browse files Browse the repository at this point in the history
…le way
  • Loading branch information
cronopio committed Oct 22, 2013
1 parent 920f1e7 commit a1b25a1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 19 deletions.
43 changes: 25 additions & 18 deletions examples/error-handling.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
var httpProxy = require('../index');
var httpProxy = require('../lib/http-proxy'),
http = require('http');
/*
* Create your proxy server
*/
var proxyServer = httpProxy.createProxyServer({target:'http://localhost:30404', ws:true});
var proxy = httpProxy.createProxyServer({target:'http://localhost:30404', ws:true});

// Register an error handler for web requests
proxyServer.ee.on("http-proxy:outgoing:web:error", function(err, req, res){
res.writeHead(502);
res.end("There was an error proxying your request");
});
var proxyServer = http.createServer(requestHandler);

// Register an error handler for web-socket requests
proxyServer.ee.on("http-proxy:outgoing:ws:error", function(err, req, socket, head){
socket.close();
});

// You may also use a wild card
proxyServer.ee.on("*:*:*:error", function(err, req){
console.log("The error event '" + this.event + "' happened errno: " + err.errno);
});
function requestHandler(req, res) {
// Pass a callback to the web proxy method
// and catch the error there.
proxy.web(req, res, function (err) {
// Now you can get the err
// and handle it by your self
// if (err) throw err;
res.writeHead(502);
res.end("There was an error proxying your request");
});

// In a websocket request case
req.on('upgrade', function (req, socket, head) {
proxy.ws(req, socket, head, function (err) {
// Now you can get the err
// and handle it by your self
// if (err) throw err;
socket.close();
})
})
}

console.log("Proxy server is listening on port 8000");
proxyServer.listen(8000);

proxyServer.listen(8000)
2 changes: 1 addition & 1 deletion examples/stand-alone.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var http = require('http'),
httpProxy = require('http-proxy');
httpProxy = require('../lib/http-proxy');
//
// Create your proxy server
//
Expand Down

0 comments on commit a1b25a1

Please sign in to comment.