143 Commits

Author SHA1 Message Date
Fabian Jakobs
d6ea3a425c don't add upgrade handler if a custom handler is passed in
if a callback but no static proxy is defined and
no routes are provided then handlers.length is 1.
However the upgrade event is still automagically
attached in spite of having an explicit callback.
2011-11-16 16:40:51 -08:00
koichik
152d258ea0 [fix] Avoid Transfer-Encoding: chunked for HTTP/1.0 client, closes #59. 2011-11-16 16:10:00 -08:00
Camilo Aguilar
c98ccb40e9 Fixes memory leak when clients abort connections 2011-11-15 20:20:47 -05:00
Dominic Tarr
f27d26f451 changeOrigin option: set the host header to the proxy destination 2011-11-15 07:41:09 +11:00
Dominic Tarr
65b7872e6a update outgoing.headers.host incase the destination does proxying 2011-11-11 12:27:21 +11:00
Dominic Tarr
182dcd3455 always emit end in 0.4 2011-11-10 16:44:23 +11:00
bradleymeck
7feee194f8 [fix] only set one drain listener while paused 2011-10-22 13:13:10 -05:00
Max Ogden
91e9bb9070 adding tests for url segment proxytable routing 2011-10-15 14:22:36 -07:00
Max Ogden
4d50915373 change proxytable routing to route one level shallower 2011-10-14 15:42:39 -07:00
Florian Traverse
b7adf866b5 added what is necessary for having proxyError on Routing proxywq 2011-10-04 01:49:12 +02:00
Fedor Indutny
45ef87e71b [websockets] add latest websockets support 2011-09-30 03:28:46 +02:00
Joshua Holbrook
1f33943b23 [fix] connection.socket -> socket for source of x-forwarded-for data 2011-09-20 14:34:03 -07:00
Joshua Holbrook
2677bb6c44 [fix] x-forwarded http headers should set properly. 2011-09-20 13:00:59 -07:00
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
0eb4917ded [fix] Add x-forward-* headers for WebSocket requests. Closes #74 2011-09-10 06:57:51 -04:00
indexzero
f765f90ec3 [api] Finalized the RoutingProxy API 2011-09-10 03:55:07 -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
5927ecd62a [api test dist] Stubbed out the API for the higher-level RoutingProxy object to be exposed by node-http-proxy 2011-09-08 18:22:38 -07:00
indexzero
0eae2a913a [api] Added new close() method which cleans up sockets from HttpProxy instances 2011-09-08 16:55:45 -07: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
0c71119ee5 resume() can throw 2011-09-08 16:41:42 -07:00
indexzero
37e2541891 Emit drain if it doesn't happen on its own in 100ms 2011-09-08 16:36:19 -07:00
indexzero
6a7fd14bfa Add flow control 2011-09-08 16:29:15 -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
e1c41d0694 [fix] Add guards to every throw-able res.end call 2011-08-28 21:27:01 -04:00
indexzero
de4a6fe8a5 [fix] Only set x-forward-* headers if req.connection and req.connection.socket 2011-08-28 21:21:35 -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