121 Commits

Author SHA1 Message Date
Xavier Shay
34c02357ff sys.inspect is totally more awesome now
- No longer relies on JSON.stringify, so it can output nulls and functions
- Handles circular references better
- Has tests
2009-12-06 12:19:23 +01:00
Ryan Dahl
8141448fe5 Don't use promises internally in DNS module 2009-12-06 09:26:09 +01:00
Ryan Dahl
c5d82380f4 Bugfix: Don't use chunked encoding for 1.0 requests.
http://groups.google.com/group/nodejs/browse_thread/thread/b2edb76691b1848c
2009-12-05 08:37:46 +01:00
Karl Guertin
4f679fd8d0 Dependency free assert module with unit tests 2009-12-05 01:05:16 +01:00
Felix Geisendörfer
530328f12b CommonJS testing for node.js
Refactored test suite to use the assert module for testing rather than
mjsunit.
2009-12-05 01:05:16 +01:00
Michaeljohn Clement
485823f3e4 fixed HTTP duplicated header bug
added test case for HTTP duplicated header bug on keepalive
2009-12-05 00:56:22 +01:00
Rhys Jones
5b1a535cd8 Add HTTP client TLS support 2009-11-30 16:51:20 +01:00
choonkeat
44d5f212fe Stat::Callback has 2 arguments for callback: current stat info and previous stat info
http://groups.google.com/group/nodejs/msg/f8e51a8e0c74bd85
2009-11-28 15:13:12 +01:00
Friedemann Altrock
0433d828cf add process.umask() 2009-11-22 19:52:52 +01:00
Friedemann Altrock
2d54d664ff Promises should not be able to be canceled more than once. 2009-11-22 19:18:24 +01:00
Felix Geisendörfer
27fcae738a Reduce multipart memory footprint
Multipart parts kept the first chunk of data after their headers in
memory, even so that was no longer needed.
2009-11-22 15:09:55 +01:00
Rhys Jones
b6dda61249 Initial TLS support 2009-11-22 04:03:53 +01:00
Felix Geisendörfer
528c449901 Multipart improvements
Multipart parts now have a name and filename property. Those are the
same as:

part.headers['content-disposition'].name
part.headers['content-disposition'].filename

This patch also updates and improves the docs for the multipart module.
2009-11-21 17:16:06 +01:00
Ryan Dahl
0b441462ab Speed up test-wait-ordering.js 2009-11-18 15:55:02 +01:00
Ryan Dahl
6cb0e0e5f5 Test runner should only run test-*.js 2009-11-17 15:05:10 +01:00
Ryan Dahl
6e6562e551 Fix stat handler test for macintosh 2009-11-17 15:05:01 +01:00
Ryan Dahl
8d2f9e83a4 Add process.watchFile() process.unwatchFile()
This is an interface to libev's ev_stat watcher.
2009-11-17 14:07:48 +01:00
Felix Geisendörfer
2b252acea4 Implement process "uncaughtException" event
This event can be used to overwrite the default exception mechanism which
reports the exception and kills the node process.

See google group post:
http://groups.google.com/group/nodejs/browse_thread/thread/9721dc3a2638446f
2009-11-14 23:46:37 +01:00
Felix Geisendörfer
bffee5eda4 Bugfix for sendBody() and chunked utf8 strings
Http expects chunked byte offsets and ignores the encoding specified in the
header. This patch makes node behave accordingly.

Bug report:
http://groups.google.com/group/nodejs/browse_thread/thread/ab701d49cb059317
2009-11-11 18:53:05 +01:00
Felix Geisendörfer
7371fcb312 Temporary function to determine str byte length
Will need a better place later on
2009-11-11 18:42:46 +01:00
Felix Geisendörfer
a021db151a Bug fix for test-remote-module-loading.js
Fix bug that caused test-remote-module-loading.js
to use the installed version of the http library
rather than the build one.
2009-11-07 20:07:55 +01:00
Ryan Dahl
6c9ec1ac40 Use '127.0.0.1' instead of 'localhost' for keep-alive test
ab seems to have to problem resolving 'localhost' on Urban's computer.
2009-11-07 17:31:42 +01:00
Ryan Dahl
9cfa4fd7d6 Output stderr from test-remote-module-loading.js
There is a small problem with test-remote-module-loading.js.
When it starts a child "node", the child uses the default require.paths
instead unshifting the build lib/
2009-11-07 15:08:46 +01:00
Ryan Dahl
b833aa48e9 Add test to ensure the server can handle keep-alive 2009-11-06 13:42:56 +01:00
Ryan Dahl
51c1526b6a Revert "Upgrade http parser, change node as needed."
Something is broken in how keep-alive is working. Reverting until I can fix
it.

This reverts commit b893859c34.
2009-11-06 12:44:20 +01:00
Brandon Beacher
47fcf785ac Added process.chdir() 2009-11-03 19:22:37 +01:00
Ryan Dahl
b3b3cfe007 Move memoryUsage() into C on Linux 2009-11-03 13:00:42 +01:00
Ryan Dahl
3a70129a9c Add sys.memoryUsage() 2009-11-03 01:30:01 +01:00
Felix Geisendörfer
43d651daef The return of relative module loading 2009-11-02 21:26:55 +01:00
Felix Geisendörfer
7069bee982 The return of absolute Module loading 2009-11-02 21:20:44 +01:00
Felix Geisendörfer
8fd472b9a1 The return of remote module loading 2009-11-01 15:39:49 +01:00
Ryan Dahl
7a2e784ad7 Module refactor - almost CommonJS compatible now
API change summary:

  * require("/sys.js") becomes require("sys")

  * require("circle.js") becomes require("./circle")

  * process.path.join() becomes require("path").join()
2009-10-31 19:10:30 +01:00
Ryan Dahl
57890465bd A few more node->process changes 2009-10-30 05:49:23 +01:00
Ryan Dahl
ad0a4cefb8 Namespace EVERYTHING under process; introduce GLOBAL
http://groups.google.com/group/nodejs/browse_thread/thread/1034fd2ad2cd93e8
2009-10-29 23:36:41 +01:00
Felix Geisendörfer
659954d842 The return of Promise.cancel() with some additional tests & docs 2009-10-29 11:24:08 +01:00
Ryan Dahl
c536728335 Move node.dns.* into /dns.js 2009-10-28 23:02:52 +01:00
Ryan Dahl
3d8b14e6f7 node.fs.* moved into "/posix.js"
use require("/posix.js") to access them.
2009-10-28 22:45:46 +01:00
Ryan Dahl
efe34f5023 Only allow a promise to fire once, remove promise.cancel()
promise.cancel() is due to return at some point.
2009-10-28 15:37:03 +01:00
Ryan Dahl
04e53cab90 Rename node.libraryPaths to require.paths
to be more inline with CommonJS.
2009-10-25 22:51:57 +01:00
Ryan Dahl
b893859c34 Upgrade http parser, change node as needed.
The latest version of http-parser is a bit more stringent EOF semantics.
2009-10-15 19:18:18 +02:00
Ryan Dahl
3456a16f71 Accept string representations of signals in node.kill and child.kill 2009-10-15 15:45:04 +02:00
Brandon Beacher
334d56d2be Added external interface for signal handlers.
Also process.pid and node.kill().
2009-10-15 14:40:52 +02:00
Connor Dunn
2dbd0d3806 Add node.fs.sendfile() 2009-10-14 18:51:23 +02:00
Felix Geisendörfer
0dbf2d7792 Implemented Promise.timeout() and Promise.cancel() 2009-10-12 16:17:42 +02:00
Ryan Dahl
f623fd7658 Normalize HTTP headers.
"Content-Length" becomes "content-length".
2009-10-07 16:56:19 +02:00
Ryan Dahl
b76d853f0d Fix test-signal-handler.js on macintosh - pause before exit. 2009-10-07 15:39:39 +02:00
Felix Geisendörfer
abbc624f52 Multipart test now uses a fixture instead of CURL 2009-10-07 02:03:24 +02:00
Brandon Beacher
f068251494 Added signal handler.
To be used internally. Needs an exposed interface.
2009-10-07 01:23:29 +02:00
Ryan Dahl
82465fc4b1 Do not use /bin/sh to create child processes.
Instead directly call execvp(). This change is needed for the
soon-to-be-added signal handlers because the /bin/sh parent process does not
pass all signals to it's children, particularly SIGUSR1 on Linux.

The parameters of createChildProcess had to be changed slightly.
utils.exec() also has a changed implementation. A bug involving quoted
arguments was knowingly introduced into utils.exec(). Will fix later.
2009-10-07 01:08:33 +02:00
Ryan Dahl
8185e1fd25 Remove include() add node.mixin()
include() should not be used by libraries because it will pollute the global
namespace. To discourage this behavior and bring Node more in-line with
the current CommonJS module system, include() is removed.

Small scripts like unit tests often times do want to pollute the global
namespace for ease. To avoid the boiler plate code of

  var x = require("/x.js");
  var foo = x.foo;
  var bar = x.bar;

The function node.mixin() is stolen from jQuery's jQuery.extend. So that it
can be written:

  node.mixin(require("/x.js"));

Reference:
http://docs.jquery.com/Utilities/jQuery.extend
http://groups.google.com/group/nodejs/browse_thread/thread/f9ac83e5c11e7e87
2009-10-05 15:46:31 +02:00