Ryan Dahl
72aee8216c
Fix permissions on http.js
14 years ago
Ryan Dahl
2470d2ee92
allowHalfOpen disabled by default
Users too often would forget to add
socket.on('end', function () {
socket.end();
});
Which is a mistake. Therefore we default to this behavior and
only optionally let people handle the 'end' case themselves.
14 years ago
Mark Nottingham
b14eeb3c1e
Fix expect/continue keepalive
14 years ago
Ryan Dahl
8139bb24c1
Add destroy methods to HTTP messages
needs tests (particularly for pipeline situations)
14 years ago
Micheil Smith
0e1a581916
Removed deprecated methods from lib/http.js
14 years ago
Ryan Dahl
7e24a05cba
Fix test-http-buffer-sanity
14 years ago
Micheil Smith
e38eb0c5a4
Soft migration of sys -> util, Removal of deprecated utils module.
14 years ago
Ryan Dahl
2944e03a03
Closer to a working pipe
14 years ago
Micheil Smith
1af52d28ca
Changing http.js to use the same stream.Stream creation as net.js
14 years ago
Ryan Dahl
bc695475b9
Add Stream base class with stream.pipe
14 years ago
Ryan Dahl
0003c701bc
expose parsers freelist
14 years ago
Joshaven Potter
3d4e4d8909
syntax fixes to pass jslint
14 years ago
Ryan Dahl
38f8665f3a
lib/http.js - nested loop stepping on variables of outer loop
Fixes #318 .
14 years ago
Mark Nottingham
d59512f6f4
Add support for handling Expect: 100-continue
HTTP/1.1 requests, either with an event (check_continue) or automatically, if no event handler is present.
Add client-side expect/continue support, tests.
Expound upon client requirements for expect/continue.
15 years ago
Ryan Dahl
265cda97d7
Fix zero length buffer bug for http res.end()
Reported by Kadir Pekel <kadirpekel@gmail.com>
14 years ago
Mark Nottingham
1b24fc6678
Consume HTTP trailing headers
14 years ago
Ryan Dahl
c3bc48d451
Move the http client's initParser() into prototype
14 years ago
Ryan Dahl
069d973d74
Remove require('buffer') in built-in libraries.
14 years ago
Fedor Indutny
5535aa3d51
Fixed 'upgrade' event for httpclient
onend and ondata was cleaning on parser end
14 years ago
Mikeal Rogers
cc1d61cbb3
HTTP: close connection on connection:close header.
rnewson found a good bug in keep-alive. we were only using the request
headers we send to enable/disable keep-alive but when the server sends
Connection: close we need to close down the connection regardless.
I wrote up a patch the Robert verified makes all his test client code work
now and I also added a new unittest for it.
14 years ago
Ryan Dahl
db73c71280
Pass correct message in HTTP client upgrade
Simplify and correct test.
Fix by Fedor Indutny.
14 years ago
Ryan Dahl
a63fd0fe56
Remove deprecation warnings in http module
14 years ago
Sam Stephenson
6560ab9073
Send multiple header lines in ServerResponse#writeHead when header values are arrays
15 years ago
Mark Nottingham
4fe3007a1a
Support for outgoing HTTP trailing headers
15 years ago
Ryan Dahl
44a287987e
Safe constructors: http.Server and http.Client
15 years ago
Ryan Dahl
2982e75a0b
set-cookies header is an array of values. always
15 years ago
Ryan Dahl
9acd76ed6e
Don't throw on HEAD requests
15 years ago
Ryan Dahl
1c5d5e0b72
uppercase request methods
15 years ago
Ben Noordhuis
4b19bd2896
Client.onend: Anticipate that the HTTP parser object is uninitialized when the client setup failed.
15 years ago
Mikeal Rogers
3214116be6
Implement keep-alive for http.Client
Send the 'Connection: keep-alive' header in your request to enable.
15 years ago
Ryan Dahl
02729d4af7
instanceof Buffer to Buffer.isBuffer()
15 years ago
Ryan Dahl
6a57a42109
Use Array.isArray instead of instanceof
15 years ago
Dmitriy Shalashov
70a8fb3763
Fix headers with empty value.
15 years ago
Peter Griess
51bd1b4483
Only concatenate some incoming HTTP headers.
- Concatenate 'accept', 'accept-charset', 'accept-encoding',
'accept-language', 'connection', 'cookie', and 'x-*' headers.
- For all others, drop duplicates.
15 years ago
Peter Griess
187f191558
Support 'upgrade' event in HTTP client.
- Add a unit test for client HTTP upgrade.
- Move around unit tests for server HTTP upgrade.
15 years ago
Ryan Dahl
6bed15e074
Refactor: Utf8Decoder -> StringDecoder
Instead of just decoding Utf8, this will proxy requests to buffer.toString()
for other encodings. This makes for a simpler interface.
15 years ago
Ryan Dahl
55a6f01732
Server responses should have a body if HEAD request
15 years ago
Ryan Dahl
80a8e71fe0
Insert some hot paths into HTTP
15 years ago
Ryan Dahl
74b7fa29a1
Refactor HTTP
Allow throttling from outgoing messages.
15 years ago
Ryan Dahl
29e867aaa0
Simplify a few internal HTTP events.
15 years ago
Sam Hughes
895f89d62a
Avoided sending empty chunkedEncoding chunks in the middle of http responses
15 years ago
Ryan Dahl
15ec99ec59
Fix issue 89, parsing responses to HEAD requests
Test from Mark Hansen (mark at markhansen.co.nz)
15 years ago
Ryan Dahl
35c14f637e
In HTTP parser, proxy return value of onHeadersComplete
15 years ago
Ben Noordhuis
b58db3cd73
Added reason phrases for a bunch of HTTP status codes.
15 years ago
Ryan Dahl
cbd2c3945b
Throwing in a callback should kill the process
There is a difference between errors which happen to a socket - like
receiving EPIPE - an exceptional situation but ultimately okay and the
situation where code throws in a callback - which is not okay.
Fixes test/simple/test-http-exceptions.js
TODO: explain this in docs.
15 years ago
Ryan Dahl
2663c69f8d
Fix utf8stream references
15 years ago
Felix Geisendörfer
f987ecf45b
Use Utf8Stream for http Streams with utf8 encoding
15 years ago
Ryan Dahl
d0128787e7
Deprecate sendHeader() and writeHeader(), ppl should use writeHead()
15 years ago
Ryan Dahl
7a2e6d674a
Default to 2 second timeout for http servers
Taking a performance hit on 'hello world' benchmark by enabling this by
default, but I think it's worth it. Hopefully we can improve performance by
resetting the timeout less often - ideally a 'hello world' benchmark would
only touch the one timer once - if it runs in less than 2 seconds. The rest
should be just link list manipulations.
15 years ago
Ryan Dahl
8ab238e7de
Revert "destroy instead of end http connection at end of pipeline"
This reverts commit 4ce1e1fca5
.
To fix test-http-full-response.js. Clearly this is not the correct solution.
Probably need idle timeouts.
15 years ago