115 Commits

Author SHA1 Message Date
indexzero
f7010e5169 [merge] Merge from significant internal refactor in v0.7.x. No external API changes 2011-09-10 07:05:17 -04:00
indexzero
598fe2e38d [api doc] Rebuilt httpProxy.createServer() with the newer high-level RoutingProxy API 2011-09-09 18:14:49 -04:00
indexzero
ec03d72c5d [minor] Move private methods to the bottom of file(s) 2011-09-08 16:53:42 -07:00
indexzero
0e36912906 Fixed large DoS vector in the middleware implementation 2011-09-08 16:44:25 -07:00
indexzero
ca1d12cf1b [fix] Memory leak hunting. 2011-09-08 16:21:20 -07:00
indexzero
38315f6b1f [minor] More contextual errors when middleware(s) error 2011-09-08 16:07:35 -07:00
Tj Holowaychuk
07c8d2ee60 Fixed large DoS vector in the middleware implementation 2011-09-08 14:36:40 -07:00
indexzero
5575bcf60c [minor] Remove commented out debug statements. 2011-09-08 14:24:43 -07:00
isaacs
558a8a4f79 resume() can throw 2011-09-08 14:06:31 -07:00
isaacs
84be9f2c3a Emit drain if it doesn't happen on its own in 100ms 2011-09-08 14:06:22 -07:00
isaacs
2b9e09b00a Add flow control
Not in the "async/fibers/coro" sense of flow control, but in the TCP
backpressure sense.

Pause the stream when a write isn't flushed, and then resume it once the
writable stream drains.
2011-09-08 14:06:14 -07:00
isaacs
f4fcf93403 Memory leak hunting.
Detach listeners and clean up buffer on error
2011-08-31 11:47:44 -04:00
indexzero
f6dc12a971 [fix] Use req.connection for all x-forward-* headers 2011-08-28 21:14:42 -04:00
isaacs
7bda25b1c6 Add guards to every throw-able res.end call 2011-08-28 15:52:35 -07:00
isaacs
62201a0917 Fix #95 Don't look on req.connection if it's not set. 2011-08-28 13:41:19 -07:00
indexzero
340be42797 [minor] Dont use .bind() 2011-08-28 05:28:57 -04:00
indexzero
daf9231a66 [test fix] A few minor fixes to ensure basic WebSocket tests are working. Better scope tests by supported protocol 2011-08-28 05:06:14 -04:00
indexzero
be4562da9f [api test] Updated httpProxy.createServer() for new API exposed by simplified HttpProxy object.
[breaking] Temporarily removed pending refactor: middleware & ProxyTable support
2011-08-28 04:40:51 -04:00
indexzero
d2b0e4399e [api breaking] Begin refactor to optimize node-http-proxy by managing one instance of HttpProxy per host:port location 2011-08-28 03:38:39 -04:00
indexzero
5d6e6b9f78 [api] Expose adapted version of stack so it can be used with HttpProxy instances not created by httpProxy.createServer() 2011-08-28 01:49:41 -04:00
isaacs
be3a0d84a1 Handle cases where res.write throws 2011-08-28 01:49:37 -04:00
indexzero
5d0bbb38c3 [minor dist] Use pkginfo. Minor updates to variable scoping in .createServer() 2011-08-18 20:58:16 -04:00
Dominic Tarr
604ed2878d Merge branch 'patch-1' of https://github.com/KimSchneider/node-http-proxy
closes #80
Conflicts:
	lib/node-http-proxy.js
2011-08-03 00:06:08 +10:00
Dominic Tarr
e6ff8d6597 [api] merge middleware branch 2011-08-02 15:41:03 +10:00
Dominic Tarr
0f8fe8e246 [style] tidy 2011-08-02 15:33:03 +10:00
Dominic Tarr
20125889b3 [fix] do not use middleware code if it's not needed 2011-08-02 15:25:23 +10:00
indexzero
f7452bc42d [fix] Dont use res.* in proxyWebSocketRequest 2011-08-02 14:55:49 +10:00
indexzero
f0917a3f97 [minor] Style updates and whitespace cleaning for consistency 2011-08-02 14:55:49 +10:00
Dominic Tarr
8b48b7e0af [minor] code style changes 2011-08-02 14:51:37 +10:00
Dominic Tarr
7976de1121 support old (port,host) and (options) style when using middlewares 2011-08-02 14:51:36 +10:00
Dominic Tarr
c773eedeb6 [minor] add middleware to node-http-proxy 2011-08-02 14:51:36 +10:00
KimSchneider
2caa5d2b0d The number of maxSockets has to be set after the agent is created. Setting the property in the constructor does not work. 2011-08-01 13:22:30 +03:00
Dominic Tarr
b54666ff69 [minor] add middleware to node-http-proxy 2011-07-24 23:17:24 +10:00
Dominic Tarr
25c06a3a95 [fix] handler variable in createServer was global (!) 2011-07-23 05:40:29 -07:00
Dominic Tarr
e3d95ecab2 [minor] default enableXForwarded to true 2011-07-21 23:53:25 +10:00
Dominic Tarr
76aa982181 Merge pull request #73 from DanBUK/master
This adds a flag to ProxyRequest to disable the setting of x-forwarded-[for|port|proto]
(will change default to true in next commit)
2011-07-21 06:38:48 -07:00
Dominic Tarr
efa17ef6cf [fix] use routing table mhen proxying WebSockets.
closes issue #72
2011-07-21 23:08:11 +10:00
DanBUK
ee3506a8e7 Updating to enableXForwarded 2011-07-19 09:57:21 +01:00
DanBUK
404818b1dc Allow forwarding for x-forwarded-[for|port|proto] to enabled layering of http-proxies. 2011-07-18 12:07:54 +01:00
indexzero
eb6f9a6354 [api] Simplify the usage for the .changeHeaders option. Fixes #34 2011-06-26 12:21:06 -04:00
indexzero
9d9509f791 [doc] Small update to code docs 2011-06-26 10:56:12 -04:00
indexzero
4f85ca04e4 [api doc test] node-http-proxy now emits websocket:* on important WebSocket events. Added tests for these features and updated some code docs 2011-06-26 10:52:22 -04:00
indexzero
b608a029f8 [minor] Add missing space 2011-06-23 04:34:47 -04:00
indexzero
887c5808c9 [refactor] Manage our own internal list of Agent instances 2011-05-25 00:48:44 -06:00
indexzero
028d2044e7 [fix] Change sec-websocket-location header when proxying WSS --> WS. Added test coverage for this scenario 2011-05-23 02:18:12 -04:00
indexzero
a86d18bc7f [fix] Dont force Connection: close now that Keep-Alive is supported 2011-05-21 10:41:51 -04:00
indexzero
6fd272ac18 [doc] Update to v0.5.7 in code and README.md 2011-05-19 02:48:46 -04:00
indexzero
421895fa30 [api] Add x-forwarded-proto and x-forwarded-port to proxied HTTP requests 2011-05-19 02:43:41 -04:00
indexzero
e9b3ec9b1d [fix] Set x-forwarded-for from req.connection.socket.remoteAddress if req.connection.remoteAddress is not defined 2011-05-19 02:27:38 -04:00
indexzero
5d2192e654 [api minor] Small refactor to emit webSocketProxyError from a single helper function on any of the various error events in the proxy chain 2011-05-19 01:53:55 -04:00