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
isaacs
794cb60f9e
typo
2011-06-04 10:41:41 -07:00
isaacs
580ab7ba2c
Avoid instanceof for native object types
...
For classes defined in the module, this is fine. For 'Error'
it's probably not very hazardous. However, testing 'Object'
and 'String' is much more reliable using typeof, to work with
the repl and NODE_MODULE_CONTEXT modes.
2011-06-04 10:38:49 -07:00
Ryan Dahl
860cb906a6
Merge branch 'v0.4'
...
Conflicts:
src/node_version.h
2011-05-22 13:02:06 -07:00
Ryan Dahl
70dd6d4ea3
Fix TJ's assert error
...
Unable to reproduce but connect's "make test TESTS=test/static.test.js" does
it occasionally.
2011-05-20 15:41:04 -07:00
Ryan Dahl
85bc8d02fa
Merge branch 'v0.4'
...
Conflicts:
src/node_crypto.cc
2011-05-16 19:29:02 -07:00
Felix Geisendörfer
e7ac6d8fcd
Error argument for http.ServerRequest 'close'
...
Problem: It was not possible to detect the reason for a premature
connection termination in http requests.
This patch provides a new `err` argument to the 'close' event which
can be inspected to differentiate between a timeout and a client
actively terminating the connection.
Also contains tests for this new behavior for http and https.
2011-05-14 14:15:31 -07:00
isaacs
205b9beb6b
Merge branch 'v0.4'
...
Conflicts:
lib/tls.js
lib/url.js
src/node_version.h
test/simple/test-buffer.js
test/simple/test-url.js
2011-05-07 20:38:32 -07:00
Ryan Dahl
110f06578d
Agent socket errors bubble up to req only if req exists
...
Fixes #836 .
2011-05-07 12:30:58 -07:00
Mark Cavage
a2328dc73c
Add support for Unix Domain Sockets to HTTP
...
fixes #979 .
2011-04-25 16:52:31 -07:00
Ryan Dahl
598792ba91
Merge branch 'v0.4'
...
Conflicts:
src/platform_sunos.cc
test/simple/test-os.js
2011-04-14 01:11:21 +00:00
Abe Fettig
83727a4c86
Fix bug where http response.readable was never set to false
...
Closes GH-867.
2011-04-12 14:55:18 -07:00
Ryan Dahl
9ccf0e527f
Don't error on ENOTCONN from shutdown()
2011-04-11 15:33:24 -07:00