Ryan Dahl
1a5acd9850
API: readFileSync without encoding argument now returns a Buffer
...
Correctly load utf8 data; add a test test-fs-read-file-sync.js
2010-05-29 13:38:00 -07:00
Ryan Dahl
c82d64649c
Deprecate the 'ini' module
2010-05-29 13:14:38 -07:00
isaacs
a26f7d753d
Make require() from the repl be relative to cwd
2010-05-29 12:35:30 -07:00
isaacs
82813f2f8c
Execute repl code in new context
2010-05-29 12:33:55 -07:00
isaacs
3c7873bd3f
Use duck-typing as well as instanceof in sys.inspect
...
This makes it so that inspecting objects from other contexts works as expected.
2010-05-29 12:31:46 -07:00
Tim Caswell
b480184fd6
Check for a couple of edge cases on the inspect hook.
...
Don't treat sys.inspect special, same with prototype objects.
2010-05-28 15:40:25 -07:00
Tim Caswell
7f5320b167
Provide a hook for user-specified inspect functions
2010-05-28 14:29:51 -07:00
Ryan Dahl
80a8e71fe0
Insert some hot paths into HTTP
2010-05-27 20:43:56 -07:00
Ryan Dahl
74b7fa29a1
Refactor HTTP
...
Allow throttling from outgoing messages.
2010-05-27 20:41:57 -07:00
Ryan Dahl
8840ce340d
Bugfix: fs.ReadStream.setEncoding
...
Improve test-fs-read-stream test.
2010-05-26 18:33:38 -07:00
Micheil Smith
d89de07758
Adding experimental support for fs.chown and fs.chownSync.
...
Notes:
- Currently only accepts numeric user and group ids.
- No tests, as tests depend on getpwuid and getgrgid.
- No documentation, as there is no tests and this is experimental.
2010-05-26 13:37:45 -07:00
Ryan Dahl
29e867aaa0
Simplify a few internal HTTP events.
2010-05-26 13:37:33 -07:00
Sam Hughes
895f89d62a
Avoided sending empty chunkedEncoding chunks in the middle of http responses
2010-05-25 22:58:17 -07:00
Ryan Dahl
15ec99ec59
Fix issue 89, parsing responses to HEAD requests
...
Test from Mark Hansen (mark at markhansen.co.nz)
2010-05-25 19:25:40 -07:00
Ryan Dahl
35c14f637e
In HTTP parser, proxy return value of onHeadersComplete
2010-05-25 19:25:38 -07:00
Ryan Dahl
e97a481785
Destroy REPL pipes instead of shutting down.
2010-05-24 17:14:13 -07:00
Ryan Dahl
19f475c573
fs.ReadStream should emit Buffers
...
And do proper utf8 encoding.
2010-05-24 15:47:42 -07:00
Aapo Laitinen
c4876d01a1
Change the behavior of path.extname
...
Make path.extname return an empty string also if:
- The last dot is not in the last path component
- The last dot starts the last path component
2010-05-24 09:56:28 -07:00
Ben Noordhuis
b58db3cd73
Added reason phrases for a bunch of HTTP status codes.
2010-05-23 17:02:35 -07:00
Mikeal Rogers
fe3d8f2411
Add assert.ifError
2010-05-21 12:06:12 -07:00
Felix Geisendörfer
c93e0aaf06
Deprecate string interface for fs.read()
...
This patch makes buffers the preferred output for fs.read() and
fs.readSync(). The old string interface is still supported by
converting buffers to strings dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.
2010-05-20 16:31:18 -07:00
Ryan Dahl
e84395ff8c
Revert "Deprecate string interface for fs.read()"
...
This reverts commit cbbf9e43d1
.
2010-05-20 16:11:33 -07:00
Felix Geisendörfer
cbbf9e43d1
Deprecate string interface for fs.read()
...
This patch makes buffers the preferred output for fs.read() and
fs.readSync(). The old string interface is still supported by
converting buffers to strings dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.
2010-05-20 15:25:49 -07:00
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.
2010-05-20 15:23:36 -07:00
rentzsch
36a45c4e0d
FIX path.dirname('/tmp') => '/'.
...
Previously path.dirname('/tmp') incorrectly returned '.'.
Unfortunately module.js incorrectly thinks dirname('/a/b/') should
yield '/a/b', so I can't strip trailing slashes yet. Once module.js
is fixed, then the commented-out code should be activated and a test
written for it.
2010-05-20 10:16:09 -07:00
Ryan Dahl
022c083848
Deprecate sys.p()
2010-05-20 10:12:05 -07:00
isaacs
5b740c488f
Fix a leaking global
2010-05-20 09:38:25 -07:00
Felix Geisendörfer
c46cbe0de4
Deprecate string interface for fs.write()
...
This patch makes buffers the preferred input for fs.write() and
fs.writeSync(). The old string interface is still supported by
converting strings to buffers dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.
2010-05-19 12:53:43 -07:00
Ryan Dahl
2663c69f8d
Fix utf8stream references
2010-05-18 09:32:28 -07:00
Felix Geisendörfer
f987ecf45b
Use Utf8Stream for http Streams with utf8 encoding
2010-05-18 01:04:39 -07:00
Felix Geisendörfer
ed5f1162fa
Use Utf8Stream for net Streams with utf8 encoding
2010-05-18 01:02:15 -07:00
Felix Geisendörfer
caba9c70c3
Implemented Utf8Decoder module
...
Allows to safely decode a utf8 stream into strings without breaking
on multibyte characters.
2010-05-17 22:12:30 -07:00
Ryan Dahl
e232f09d38
fs.WriteStream.write should support buffer
...
Also re-adding the callback parameter.
2010-05-17 19:44:14 -07:00
Jonas Pfenniger
53a9869ff7
FIX: EventEmitter#removeAllListeners signature
...
This function should return this is all cases.
2010-05-14 19:15:07 -07:00
Jonas Pfenniger
fea6f829bf
FIX: EventEmitter#removeListener logic
...
In the case of one defined listener, the function should only remove it
if it is the same as the passed listener.
2010-05-14 19:13:50 -07:00
Andrew Johnston
9599607065
Added posix fsync and fdatasync to fs module
2010-05-14 18:42:22 -07:00
Elijah Insua
976926376d
Handle empty files with fs.readFile
2010-05-13 12:42:17 -07:00
Ben Noordhuis
c6c77d535f
Support for fstat(2) through fs.fstat() and fs.fstatSync(). Added test cases, updated documentation.
2010-05-12 14:20:43 -07:00
Ryan Dahl
d0128787e7
Deprecate sendHeader() and writeHeader(), ppl should use writeHead()
2010-05-12 12:15:58 -07:00
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.
2010-05-12 11:49:28 -07:00
Ryan Dahl
d2cff34fa3
Idle timeout changes
...
- setTimeout should active the timeout too. (test-net-set-timeout tests
this.)
- 'timeout' event is not automatically followed by an 'error' event. That
is the user is now responsible for destroying the stream if there is an
idle timeout.
2010-05-12 10:06:13 -07:00
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.
2010-05-09 21:29:51 -07:00
Ryan Dahl
ab068db9b1
Improve error reporting
...
- No more single line "node.js:176:9" errors
- No more strange output when error happens on first line due to
module wrapper function.
- A few tests to check these things
2010-05-09 13:55:42 -07:00
Ryan Dahl
1d28cfcfb9
Better logic for testing if an argument is a port
...
If you did server.listen('123') it would open a socket in the current
directory called 123. Now it will interpret it as a port.
2010-05-09 12:10:42 -07:00
Ryan Dahl
d38d96eb61
Don't emit 'exit' twice from child process
2010-05-08 23:28:26 -07:00
Ryan Dahl
264e540d00
Fix error reporting in child_process callbacks
...
Issue 120, test case by Nathan Ostgard
2010-05-08 22:13:34 -07:00
isaacs
bc45adcffa
Add binding.close to fs.readFile
2010-05-07 13:17:57 -07:00
Tim Caswell
c07c601c3b
fs.readFile uses a buffer internally and will return the raw buffer if no encoding is specified.
2010-05-06 22:22:14 -07:00
Ryan Dahl
4ce1e1fca5
destroy instead of end http connection at end of pipeline
2010-05-06 09:15:44 -07:00
Thomas Lee
3674563dd5
Fix a bug in http.Client where parsers may be prematurely released back to the free pool.
2010-05-06 00:44:07 -07:00
Jonathan Knezek
82c8973dfa
Changed undefined pos to null to prevent hanging on SheevaPlug
2010-05-05 22:34:36 -07:00
isaacs
c0d42b0365
Look in /usr/local/lib/node for modules, so that there's a way to install modules globally
2010-05-04 22:02:16 -07:00
Ryan Dahl
453c9e6411
Fix whitespace
2010-05-04 21:35:46 -07:00
isaacs
3892628657
Emit a better error message when something strange is sent to OutgoingMessage#write
2010-05-04 18:37:00 -07:00
Ryan Dahl
d044e2de07
Lazy load crypto
...
The whole program is being slowed down by the large CA string in crypto.
Why?
2010-05-04 14:21:14 -07:00
Rhys Jones
afce4c3ae8
Added default CAs, updated openssl verify behaviour, added crypto and https documentation
2010-05-04 14:12:54 -07:00
Rhys Jones
1a317135c5
Additional OpenSSL tests
2010-05-03 16:15:06 -07:00
Paulo Matias
430cfd1825
Read all records to always empty the OpenSSL reading buffer.
2010-05-03 16:11:42 -07:00
Ryan Dahl
b5bdf9434b
Add another http upgrade test
2010-05-03 11:23:36 -07:00
Ryan Dahl
f0fec7352a
Don't emit error twice from http.Client
2010-05-03 10:53:52 -07:00
Micheil Smith
aee226b243
Fixing the 1 byte off error in http.Server's upgradeHead
...
(And fix up some style issues)
2010-05-01 18:05:53 -07:00
Ryan Dahl
67fb0ece6b
Fix deprecation message
2010-05-01 14:45:14 -07:00
Micheil Smith
d6110fbd11
Making requestListener for the construction of a http.Server optional, as it is for net.Server
2010-05-01 11:56:00 -07:00
Micheil Smith
f990f24ad3
Implementing the event emit for Upgrade requests, with tests.
2010-05-01 11:52:40 -07:00
Ryan Dahl
3b323027be
http server emits 'clientError'
2010-04-30 10:29:35 -07:00
Ryan Dahl
301b44d45d
Chunk strings together on Stream buffer
2010-04-29 12:00:37 -07:00
Thomas Lee
a63ce5cd72
Allow callers to disable PHP/Rails style parameter mungeing in querystring.stringify
2010-04-28 16:18:48 -07:00
Felix Geisendörfer
f8a3cf980f
Properly handle child process exit codes
...
The child process 'exit' was returning the status of the process, rather than
the exit code. This patch properly deconstructs the status into the exit code
and the term signal a process may have received.
See:
http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Watcher_Specific_Functions_and_Data_-5
and waitpid(2)
2010-04-28 13:54:17 -07:00
Ryan Dahl
e7a1fa1293
fs.FileWriteStream -> fs.WriteStream, fs.FileReadStream -> fs.ReadStream
2010-04-27 18:52:16 -07:00
Felix Geisendörfer
c143cba590
Get rid of coupling for stdin
2010-04-27 18:02:30 -07:00
Felix Geisendörfer
f2212fa59d
Support for FileReadStream.setEncoding
2010-04-27 17:31:04 -07:00
Felix Geisendörfer
76f98c27de
Get rid of coupling for stdout
2010-04-27 17:27:34 -07:00
Ryan Dahl
f618551694
Remove callback argument to FileWriteStream.prototype.write
2010-04-27 17:26:10 -07:00
Ryan Dahl
e235aae018
Fix bug in socket write optimization
...
Thanks to tlb@tlb.org for finding it!
2010-04-26 20:26:43 -07:00
Jérémy Lal
5caf53a053
Add support for MX queries in dns module, works with c-ares upstream patch.
2010-04-26 15:09:03 -07:00
Ryan Dahl
cee9080381
Fix typos
2010-04-25 22:44:31 -07:00
Ryan Dahl
c72967d335
Remove http_old tcp_old
2010-04-23 17:19:29 -07:00
Ryan Dahl
16f02403f8
Catch errors from stream events in net.js
...
Pipe into 'error' event.
2010-04-23 14:08:54 -07:00
Brian Hammond
40820ec8d5
Leave pos as undefined to allow reads from unseekable files like /proc/x/smaps on Linux
2010-04-23 10:34:10 -07:00
Ryan Dahl
0633e5cac9
Optimize for few args in EventEmitter.emit
2010-04-22 17:31:35 -07:00
Ryan Dahl
6abdf051d3
Unhandled 'error' events kill program
...
By default 'error' throws. addListener to prevent this.
2010-04-22 17:22:06 -07:00
Ryan Dahl
3934cb5485
Force no body on http 204 and 304
...
Thanks to tjholowayhuk@gmail.com for the test case.
2010-04-21 15:15:21 -07:00
isaacs
cfd459abde
Move the module loading framework into lib/module.js. Minimal changes otherwise.
2010-04-21 12:05:01 -07:00
isaacs
e0061a511d
refactor path module to lib/path.js
2010-04-21 11:38:51 -07:00
isaacs
7ff53f4c6a
Refactor events module to lib/events.js
2010-04-21 11:38:46 -07:00
Julian Lamb
5f8f561d61
add setKeepAlive function, which enables and sets the TCP keep-alive timer
2010-04-20 16:34:21 -07:00
Matt Ranney
39464b498f
Add docs for new REPL options and fill out description of commands.
2010-04-15 18:03:56 -07:00
Rhys Jones
8efab857d0
Merge branch 'master' into openssl
2010-04-15 19:57:35 +01:00
Micheil Smith
6ad18a27a0
Fix upgradeHead bounds.
2010-04-15 11:19:54 -07:00
Rhys Jones
e6a1091cc6
Merge branch 'master' into openssl
2010-04-15 10:56:42 +01:00
Ryan Dahl
2ad587cc35
Default to UTF8 on stream write
2010-04-15 02:09:51 -07:00
Ryan Dahl
5281f29012
Use new method of getting chars written for UTF8
2010-04-15 02:09:51 -07:00
Rhys Jones
d27d6dcc6f
Merge branch 'master' into openssl
2010-04-15 06:21:15 +01:00
Rhys Jones
fbad5dc062
Updated https support
2010-04-15 06:17:22 +01:00
Ryan Dahl
4efe27bbab
Add execFile() for Orlando
...
Undocumented for now, but basically like exec() with args.
2010-04-14 18:50:44 -07:00
Ryan Dahl
9cf2a02d8b
Add timeout and maxBuffer options to child_process.exec
2010-04-14 11:59:24 -07:00
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.
2010-04-14 03:52:15 -07:00
Ryan Dahl
684740c232
net.js: Slice the right buffer in _writeOut
2010-04-14 00:41:56 -07:00
Rhys Jones
144200435f
Merge branch 'master' into openssl
...
Conflicts:
lib/net.js
wscript
2010-04-14 07:31:33 +01:00
Ryan Dahl
71dc232f93
Use === instead of == for END_OF_FILE compares
...
This caused a very hard to track down bug. Thanks to Mikeal Rogers for this
fix. Unfortunately we were unable to put together a test case.
2010-04-13 15:56:08 -07:00