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
Ryan Dahl
4ce1e1fca5
destroy instead of end http connection at end of pipeline
15 years ago
Thomas Lee
3674563dd5
Fix a bug in http.Client where parsers may be prematurely released back to the free pool.
15 years ago
Ryan Dahl
453c9e6411
Fix whitespace
15 years ago
isaacs
3892628657
Emit a better error message when something strange is sent to OutgoingMessage#write
15 years ago
Ryan Dahl
b5bdf9434b
Add another http upgrade test
15 years ago
Ryan Dahl
f0fec7352a
Don't emit error twice from http.Client
15 years ago
Micheil Smith
aee226b243
Fixing the 1 byte off error in http.Server's upgradeHead
(And fix up some style issues)
15 years ago
Ryan Dahl
67fb0ece6b
Fix deprecation message
15 years ago
Micheil Smith
d6110fbd11
Making requestListener for the construction of a http.Server optional, as it is for net.Server
15 years ago
Micheil Smith
f990f24ad3
Implementing the event emit for Upgrade requests, with tests.
15 years ago
Ryan Dahl
3b323027be
http server emits 'clientError'
15 years ago
Ryan Dahl
6abdf051d3
Unhandled 'error' events kill program
By default 'error' throws. addListener to prevent this.
15 years ago
Ryan Dahl
3934cb5485
Force no body on http 204 and 304
Thanks to tjholowayhuk@gmail.com for the test case.
15 years ago
Micheil Smith
6ad18a27a0
Fix upgradeHead bounds.
15 years ago
Ryan Dahl
760bba5518
Support Upgrade in HTTP messages
This allows for web servers to be "hijacked" and used as Web Socket servers
(or other). You simply listen for requests as normal, but check if
req.upgrade === true
If so, this will be the last request of the connection. It's your job now to
hijack req.connection and start reading from it. req.upgradeHead is a buffer
containing the first part of the new protocol communication (in the case it
arrived on the same packet).
This needs tests and documentation. API subject to change.
15 years ago
Micheil Smith
57ea07ac91
Moving the http.js, net.js FreeList to being standalone.
15 years ago
Ryan Dahl
b7947e45c0
Recycle http client parsers
15 years ago
Rhys Jones
80174392bb
Moved Credentials into crypto module. Added node_crypto into crypto module
15 years ago
Rhys Jones
45b8d24ea6
Added https server support
15 years ago
Rhys Jones
c9f71a807c
Added https support
15 years ago
Tim Caswell
62d9852c3d
Replace slow and broken for..in loops with faster for loops over the keys.
15 years ago
Ryan Dahl
8553e8a15d
Add incoming.httpVersion
15 years ago
Ryan Dahl
08a09bb50a
Use some more Binary/F methods for Buffer
15 years ago
Ryan Dahl
50c70ac714
Update stream API: forceClose() -> destroy(), close() -> end()
15 years ago
Ryan Dahl
1b758ef268
Allow stream to write on close
15 years ago
Ryan Dahl
53530e981a
Fix test-http-chunked. Need to check for \0 at end of utf8 strings
15 years ago
Ryan Dahl
3546106c43
Add req.connection and res.connection
15 years ago
Ryan Dahl
6f21ac1282
Don't free http parser for the client!
Fixes test-http-client-race.js, test-http.js
15 years ago
Ryan Dahl
5c6f063ef2
snake to camel in HTTP
15 years ago
Ryan Dahl
70ffdf5db9
Fix HTTP keep-alive
15 years ago
isaacs
6e603ccbe2
Fix debug statement that was using puts instead of debug()
15 years ago
Ryan Dahl
ebe2721cbf
Don't use sys.debug, it gets preprocessed out
Problem introduced in b29f78772e
15 years ago
Ryan Dahl
ac684f3583
Add legacy 'binary' encoding/decoding methods to Buffer
15 years ago
Ryan Dahl
b80f6e9ed1
http2 now default
15 years ago
Ryan Dahl
627fb5adbb
Load c++ modules on demand
15 years ago
Ryan Dahl
4ccdc501d4
Include lib/ directory in node executable. Compile on demand.
Instead of installing the files in /usr/lib/node/libraries and loading them
from the file system, the files are built-in to the node executable.
However, they are only compiled on demand.
The reasoning is:
1. Allow for more complex internal javascript. In particular,
process.stdout and process.stdin can be js implemented streams.
2. Ease system installs. Loading from disk each time is unnecessary
overhead. Note that there is no "system" path for modules anymore. Only
$HOME/.node_libraries.
15 years ago
Jed Schmidt
004faf3846
Added check to make sure writeHead() is called before write(), to prevent silent failure.
15 years ago
Ryan Dahl
d1500cee6e
Store connection in OutgoingMessage
15 years ago
Ryan Dahl
9d4d232eaa
Factor out a http.Client._reconnect() function
15 years ago
Ryan Dahl
64d0e328e8
Remove unused EventEmitter object
15 years ago
Ryan Dahl
b021a845f7
Move process.inherits to sys
15 years ago
Benjamin Thomas
b1b84960ce
Rename writeHeader to writeHead
15 years ago
Ryan Dahl
12d78cd1df
Rename sendHeader to writeHeader; allow reasonPhrase
15 years ago
Ryan Dahl
c094dda53c
Move errors for readPause and readResume
15 years ago
Ryan Dahl
d0f2d465aa
http.cat no longer uses Promise
15 years ago
Ryan Dahl
5013bf1781
API: OutgoingMessage.prototype.finish() renamed to close()
15 years ago
Ryan Dahl
ae85d9af97
API: Make request/response object closer to stream interface
- sendBody() renamed to write()
- 'body' event renamed to 'data'
- 'complete' event renamed to 'end'
15 years ago
Ryan Dahl
23cf502db7
API: connection.send() renamed to connection.write()
15 years ago