From a1b25a123b4ff71e731f9beb27c5e078acfead65 Mon Sep 17 00:00:00 2001 From: cronopio Date: Tue, 22 Oct 2013 17:04:18 -0500 Subject: [PATCH] [examples] update the error-handling example using the new error handle way --- examples/error-handling.js | 43 ++++++++++++++++++++++---------------- examples/stand-alone.js | 2 +- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/examples/error-handling.js b/examples/error-handling.js index f646a8de4..76a09d955 100644 --- a/examples/error-handling.js +++ b/examples/error-handling.js @@ -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) \ No newline at end of file diff --git a/examples/stand-alone.js b/examples/stand-alone.js index 3bf6ddccf..e5239c460 100644 --- a/examples/stand-alone.js +++ b/examples/stand-alone.js @@ -1,5 +1,5 @@ var http = require('http'), - httpProxy = require('http-proxy'); + httpProxy = require('../lib/http-proxy'); // // Create your proxy server //