Andreas Madsen
1e0ce5d1bd
domain: the EventEmitter constructor is now always called in nodecore
2012-06-15 09:49:05 -07:00
Simon Sturmer
9a998d5e24
http: don't lowercase http req header until later
...
Don't lowercase the request header until we're in the _addHeaderLine method,
makes it easier to intercept the raw request headers.
2012-06-02 03:07:43 +02:00
Shigeki Ohtsu
f721d02c8a
http: fix duplicated variable declaration
2012-05-28 23:26:02 +02:00
Adam Malcontenti-Wilson
4099d1eeba
http: make http.get() accept a URL
...
http.get() now accepts either a URL (as a string) or an options object.
2012-05-16 16:43:18 +02:00
isaacs
643f00d3f9
Merge branch 'master' into v0.6-merge
...
Conflicts:
src/node.cc
2012-05-15 14:21:22 -07:00
isaacs
faa4d9ff5f
Re-apply http fixes from v0.6 branch properly
2012-05-15 14:19:46 -07:00
Ben Noordhuis
9ae6d8fee3
http: fix client request.end() EPIPE race
...
request.end() would sometimes try to write a zero-length buffer to the socket.
Don't do that, it triggers an unnecessary EPIPE when the other end has closed
the connection.
Fixes #3257 .
2012-05-15 22:05:36 +02:00
isaacs
5164ae3838
Merge remote-tracking branch 'ry/v0.6' into v0.6-merge
...
Conflicts:
ChangeLog
deps/uv/include/uv-private/uv-unix.h
deps/uv/src/unix/core.c
deps/uv/src/unix/sunos.c
deps/v8/src/runtime.cc
doc/api/crypto.markdown
lib/http.js
src/node_version.h
test/gc/test-http-client-timeout.js
wscript
2012-05-15 11:37:34 -07:00
isaacs
01103d077b
Guard against emitting 'end' twice on http responses
...
Conflicts:
lib/http.js
2012-05-15 11:29:32 -07:00
isaacs
a98e845516
Break up huge function in ClientRequest.onSocket
...
Conflicts:
lib/http.js
2012-05-15 11:26:47 -07:00
isaacs
14a5b45c06
Guard against emitting 'end' twice on http responses
2012-05-14 17:22:45 -07:00
isaacs
07d8a4650e
Break up huge function in ClientRequest.onSocket
2012-05-11 15:01:38 -07:00
isaacs
07be9fc3a6
Merge remote-tracking branch 'ry/v0.6' into v0.6-merge
...
Conflicts:
Makefile
lib/zlib.js
src/node.cc
src/node.js
2012-05-09 15:12:13 -07:00
isaacs
8c758e127c
Don't destroy on timeout
2012-05-07 14:19:16 -07:00
isaacs
b4fbf6d275
Fix #3231 . Don't try to emit error on a null'ed req object
2012-05-07 14:17:17 -07:00
Mark Cavage
5871c81181
Add HTTP Status codes from RFC 6585
...
See: http://tools.ietf.org/html/rfc6585
2012-05-04 21:51:24 -07:00
isaacs
cd8f82c007
Fix incorrect merge choices
2012-05-04 17:24:21 -07:00
isaacs
1de43149bb
http: Clean up parser usage
...
Move parsers.free(parser) to a single function, which also
nulls all of the various references we hang on them.
Also, move the parser.on* methods out of the closure, so that
there's one shared definition of each, instead of re-defining
for each parser in a spot where they can close over references
to other request-specific objects.
Conflicts:
lib/http.js
2012-05-04 14:58:30 -07:00
isaacs
0abe42a0f4
http: .once() usage in setTimeout
2012-05-04 14:31:08 -07:00
isaacs
e4dd8dc28e
http leak: Null links from parser to req/res
2012-05-04 14:27:47 -07:00
vvo
5eac8d6739
Fix #3179 HTTP memory leak using ClientRequest.
2012-05-04 14:27:41 -07:00
isaacs
2f93eb6102
http client: Destroy on timeout
2012-05-04 14:27:35 -07:00
isaacs
0a414f4caa
http: Remove socket ondata/onend in parser cleanup
2012-05-04 14:27:30 -07:00
isaacs
9164fa6aaa
Null references to request object on socket errors.
...
Regarding #3199 and #3179 and issues seen in production.
Hopefully this fixes them.
2012-05-04 14:27:24 -07:00
isaacs
2fc528ce00
http: Clean up parser usage
...
Move parsers.free(parser) to a single function, which also
nulls all of the various references we hang on them.
Also, move the parser.on* methods out of the closure, so that
there's one shared definition of each, instead of re-defining
for each parser in a spot where they can close over references
to other request-specific objects.
2012-05-04 10:40:50 -07:00
isaacs
e3ceee2dce
http: .once() usage in setTimeout
2012-05-03 10:39:16 -07:00
isaacs
b7e8e35c0e
http leak: Null links from parser to req/res
2012-05-03 10:20:45 -07:00
vvo
75f2365558
Fix #3179 HTTP memory leak using ClientRequest.
2012-05-03 07:45:46 -07:00
isaacs
c9be1d5ffd
http client: Destroy on timeout
2012-05-02 12:13:54 -07:00
isaacs
bce68134b6
http: Remove socket ondata/onend in parser cleanup
2012-05-01 15:25:59 -07:00
isaacs
bfe9cdb7f2
Null references to request object on socket errors.
...
Regarding #3199 and #3179 and issues seen in production.
Hopefully this fixes them.
2012-05-01 14:26:18 -07:00
ssuda
70005be4ff
Fixing ClientRequest setTimeout EventEmitter Leak
...
This will fix #3068
2012-04-16 23:36:18 +02:00
ssuda
48d52d85c3
http, https: fix .setTimeout()
...
Fixes #3107 .
2012-04-16 18:00:38 +02:00
Igor Zinkovsky
5ad0140f48
Emit end event only once
...
fixes #2888
Previously a pair of end events would be emitted if a response was
paused/resumed, and the underlying socket was closed while the
response was paused
2012-03-07 13:37:39 -08:00
Yoshihiro Kikuchi
f82ef0f7c3
http: remove ClientRequest.prototype.pause()
...
ClientRequest.prototype.pause() is not needed. ClientRequest is a writable
stream and deferring to OutgoingMessage.prototype.pause() is broken, the method
does not exist.
2012-03-07 20:17:36 +01:00
Dmitry Nizovtsev
1e9bcf26ce
net, http, https: add localAddress option
...
Binds to a local address before making the outgoing connection.
2012-03-06 13:35:49 +01:00
Maciej Małecki
da908364a8
tls http https: don't pollute user's `options` object
2012-02-20 21:58:00 +01:00
isaacs
0cdf85e28d
Lint all the JavaScripts.
2012-02-18 15:34:57 -08:00
isaacs
31721da4b1
Merge remote-tracking branch 'ry/v0.6' into v0.6-merge
...
Conflicts:
AUTHORS
ChangeLog
Makefile
doc/about/index.html
doc/api/tls.markdown
doc/community/index.html
doc/index.html
doc/logos/index.html
doc/template.html
lib/http.js
lib/tls.js
src/node_version.h
src/platform_win32.cc
test/simple/test-tls-connect-given-socket.js
2012-02-18 09:46:58 -08:00
einaros
83fd1c1de5
Add WebSocket RFC6455 multiheader fields to the http parser.
2012-02-16 14:12:38 -08:00
Ben Noordhuis
2c07712860
http: allow multiple WWW-Authenticate headers
2012-02-16 14:11:49 -08:00
Mark Nottingham
1e425e3fa7
Generate Date headers on responses when not already present.
2012-02-15 12:35:34 -08:00
Ben Noordhuis
6141386f7e
http: allow multiple WWW-Authenticate headers
2012-02-15 17:04:10 +01:00
koichik
c2dc673eb5
http: fix http-parser is freed twice
...
after response to CONNECT/Upgrade request.
Fixes #2704 .
2012-02-07 02:29:28 +09:00
isaacs
18d179c2d8
Merge remote-tracking branch 'ry/v0.6' into master
...
Conflicts:
ChangeLog
deps/uv/src/unix/udp.c
deps/uv/src/win/fs.c
deps/uv/src/win/udp.c
deps/uv/test/test-fs.c
doc/index.html
doc/logos/index.html
doc/template.html
src/node_version.h
2012-01-31 18:18:00 -08:00
koichik
3fd13c6426
http: fix free http-parser too early
...
when the status code is 100 (Continue).
Fixes #2636 .
2012-01-31 00:16:01 +09:00
Brandon Benvie
5403a8ce4c
core: add `NativeModule.prototype.deprecate`
...
Formalize and cleanup handling of deprecated core methods.
2012-01-30 00:27:07 +01:00
Ben Noordhuis
e806ad39d0
net, tls, http: remove socket.ondrain
...
Replace the ondrain hack with a regular 'drain' listener. Speeds up the
bytes/1024 http benchmark by about 1.2%.
2012-01-24 15:57:50 +01:00
koichik
a6f3451e25
http: fix test-http-should-keepalive.js is fail
...
3df7c90
was removed when conflict was resolved.
2012-01-24 13:57:20 +09:00
Fedor Indutny
667aae596c
Merge branch 'v0.6'
...
Conflicts:
ChangeLog
doc/template.html
lib/cluster.js
lib/http.js
lib/tls.js
src/node.h
src/node_version.h
test/simple/test-cluster-kill-workers.js
2012-01-24 00:30:28 +06:00
koichik
3df7c90c30
http: keep-alive should default with HTTP/1.1 server
...
As RFC 2616 says we should, assume that servers will provide a persistent
connection by default.
> A significant difference between HTTP/1.1 and earlier versions of
> HTTP is that persistent connections are the default behavior of any
> HTTP connection. That is, unless otherwise indicated, the client
> SHOULD assume that the server will maintain a persistent connection,
> even after error responses from the server.
> HTTP/1.1 applications that do not support persistent connections MUST
> include the "close" connection option in every message.
Fixes #2436 .
2012-01-22 14:55:41 +09:00
Ben Noordhuis
56e34c2f81
http: fix deprecation warning module ID
...
Mea culpa, I told @mmalecki wrong
2012-01-21 14:34:33 +01:00
koichik
35fe3eb5c7
http: reduce creating http-parser instances
...
Fixes #2577 .
2012-01-20 16:24:01 -08:00
Maciej Małecki
d5047f5fe6
http: use `util._deprecationWarning` for deprecation warning
2012-01-16 19:45:14 +01:00
Fedor Indutny
f1678bfc65
http: do not accept headers if limit is exceeded
...
* fix limiting when parser was reused
* fix maxHeadersCount = 0 is ignored ( credit to @koichik )
* add test-http-max-headers-count.js ( credit to @koichik )
2012-01-16 16:36:23 +06:00
Fedor Indutny
8a98c2f1d8
http, querystring: added limits to prevent DoS
2012-01-16 02:45:05 +06:00
koichik
7dffbaf2ce
http: Upgrade/CONNECT request should detach its socket earlier
...
With Upgrade or CONNECT request, http.ClientRequest emits 'close' event
after its socket is closed. However, after receiving a response, the socket
is not under management by the request.
http.ClientRequest should detach the socket before 'upgrade'/'connect'
event is emitted to pass the socket to a user. After that, it should
emit 'close' event immediately without waiting for closing of the socket.
Fixes #2510 .
2012-01-12 14:17:19 +09:00
Ryan Dahl
8b28d599a7
Merge remote branch 'origin/v0.6'
...
Conflicts:
Makefile
configure
src/node_version.h
2012-01-09 11:20:22 -08:00
koichik
08a91acd76
http: better support for CONNECT method.
...
Introduces 'connect' event on both client (http.ClientRequest) and
server (http.Server).
Refs: #2259 , #2474 .
Fixes #1576 .
2012-01-09 03:51:06 +01:00
koichik
dd9593ccc4
http: fix ServerResponse does not emit 'close'
...
Refs #2453 .
2012-01-06 15:45:21 +09:00
koichik
baebd30eee
http: use `self` insted of `this`
2012-01-05 17:43:00 +09:00
Ben Noordhuis
add4cfcf5f
Merge branch 'v0.6'
...
Conflicts:
src/platform_win32.cc
2011-12-29 01:56:44 +01:00
koichik
a337ac7584
http: fix XMLHttpRequest piped in a writable file stream hangs next request
...
Fixes #2263 .
2011-12-27 17:42:37 +09:00
koichik
e6b6075024
http: Avoid 'data'/'end' events after pause()
...
Fixes #1040 .
2011-12-26 16:14:47 +01:00
koichik
7aa5924dc6
http: fix resource leak
...
Fixes #2069
2011-12-26 08:05:35 +01:00
Ryan Dahl
48a9a2d355
Add deprecation message for http.Client
2011-12-23 17:42:27 -08:00
seebees
aab958b713
OutgoingMessage.prototype.write does not take Array
...
Changed the type checking for OutgoingMessage.prototype.write so it only accepts string and Buffer.
And test.
Fixes #2162
Fixes #2208
2011-11-29 16:52:15 +09:00
Ben Noordhuis
359a65a6db
http: emit Error object after .abort()
...
It was emitting the net.Socket object due to misuse of the arguments object.
Fixes #1399 .
2011-11-03 01:30:03 +01:00
koichik
8a729270c1
fix for --harmony_block_scoping
...
Fixes #1969 .
2011-10-31 00:49:20 +09:00
seebees
216570b5e1
Lint
2011-10-22 14:14:40 +09:00
seebees
005d607aed
http.request(url.parse(x))
...
http2.js
protocols object to store defaults for http and https, and use as a switch for supported protocols.
options.hostname > options.host > 'localhost'
if I have an options.auth element and I do not have an Authorization header, I do basic auth.
http.request collapses to new ClientRequest since the defaults are handled by the protocol object
test-http-url.parse*
Fixes #1390
Conflicts:
lib/http2.js
2011-10-22 14:14:40 +09:00
Ben Noordhuis
84d0b1bcc5
http: improve http parser bindings
...
Speeds up HTTP benchmarks by 10% on average.
2011-10-20 19:19:02 -07:00
Yoshihiro Kikuchi
f90ba61478
http: tiny fix in http.js
...
Fixes #1885 .
2011-10-17 01:14:45 +09:00
Ryan Dahl
3a34972672
Fix test-http-conn-reset.js on OSX
2011-10-12 17:31:49 -07:00
Bert Belder
153629c99a
Some small optimizations
2011-10-07 13:38:23 -07:00
Ben Noordhuis
bc7cfd7cd7
http: remove legacy http library
2011-10-04 20:51:34 +02:00
Peter Lyons
a4eee3d28f
http: remove 'headers sent?' check in OutgoingMessage.getHeader()
...
Fixes #752 .
2011-08-28 23:47:10 +02:00
Ryan Dahl
8320af7ef3
Merge remote branch 'origin/v0.4'
...
Conflicts:
doc/api/tls.markdown
2011-08-17 13:25:44 -07:00
Ryan Dahl
9cd510846e
Fixes #1546 . Remove expensive debug call.
2011-08-17 13:21:15 -07:00
Ryan Dahl
2126989a32
Fix test-http-upgrade-server and test-http-parser
...
Problem was introduced in last http-parser upgrade which fixed a long
standing bug with the upgrade event and removed several callbacks.
2011-08-08 17:12:26 -07:00
koichik
62aaf56d1b
Fix http.ClientRequest crashes if end() was called twice
...
Fixes #1417 .
Fixes #1223 .
2011-07-30 00:47:17 +09:00
koichik
8b3ba47f88
Fix http.ClientRequest crashes if end() was called twice
...
Fixes #1417 .
Fixes #1223 .
2011-07-30 00:07:37 +09:00
Ben Noordhuis
2ed23314c3
http: make http and http2 co-exist
...
http2 is currently disabled pending addition of a --use-http2 switch
2011-07-26 17:00:53 +02:00
Mikeal Rogers
2b929c7f19
http: http2 implementation
2011-07-26 16:59:52 +02:00
Ryan Dahl
0ed1354119
Merge branch 'v0.4'
...
Conflicts:
ChangeLog
deps/v8/src/version.cc
doc/index.html
src/node_version.h
test/simple/test-url.js
wscript
2011-07-22 03:10:38 -07:00
Trent Mick
bbf7e8ed5e
http: fix setting ServerResponse.statusCode in writeHead
...
Fixes #1374 .
2011-07-21 14:20:40 +02:00
Trent Mick
a8f96d3314
http: fix setting ServerResponse.statusCode in writeHead
...
Fixes #1374 .
2011-07-21 14:15:33 +02:00
Reid Burke
973153d1cc
Properly respond to HEAD during end(body) hot path
...
During write(), _hasBody is checked to make sure a body
is allowed -- this is now also checked during end(body)
when write() isn't used.
Concise final chunk for HEAD req's res.end(data).
Instead of simply clearing data, check _hasBody
earlier to avoid sending cruft when chunkedEncoding
is used.
Fixes #1291 .
2011-07-20 00:24:17 +09:00
Ryan Dahl
041c983290
Merge branch 'v0.4'
...
Conflicts:
deps/libev/wscript
doc/api/modules.markdown
2011-07-14 15:52:08 -07:00
Stefan Rusu
5b02d564c3
Fixes #1085 . The agent end event may call detachSocket() after the socket is detached and destroyed by abort(). This patch avoids that behavior.
2011-07-15 00:33:28 +09:00
Ben Noordhuis
b62ecdc5bb
Revert 3e2a2a7
. Always send a HTTP/1.1 status line to the client.
2011-07-07 23:54:13 +02:00
Ben Noordhuis
3e8667d829
Revert 8dc8773
. Always send a HTTP/1.1 status line to the client.
2011-07-07 23:49:31 +02:00
Ryan Dahl
64a06c5ffd
Revert "Error argument for http.ServerRequest 'close'"
...
Too slow.
This reverts commit e7ac6d8fcd
.
2011-07-05 15:48:31 -07:00
Ben Noordhuis
f91988979f
Don't send a HTTP/1.1 status line to HTTP/1.0 clients.
...
Fixes #1234 .
2011-07-05 01:41:30 +02:00
Ben Noordhuis
8dc87731c7
Don't send a HTTP/1.1 status line to HTTP/1.0 clients.
...
Fixes #1234 .
2011-07-05 01:13:57 +02:00
Ryan Dahl
6d8b43c366
http: Fix agent id creation
...
Unbreaks test-regress-GH-877.js
2011-07-03 11:05:14 -07:00
Ryan Dahl
a1e8fcc5ae
Merge branch 'v0.4'
2011-07-01 20:32:41 -07:00
Ryan Dahl
efca5456b8
Fixes #877 . Don't wait for socket pool to establish connections.
...
Thanks to Yann Biancheri for putting together an initial test.
2011-07-01 15:49:42 -07:00
Ryan Dahl
23b8931b62
Merge branch 'v0.4'
...
Conflicts:
src/node.js
src/node_version.h
2011-06-29 14:50:03 +02:00
Ryan Dahl
d627083ed5
Fixes #1187 . Support multiple 'link' headers
2011-06-20 12:51:30 +02:00