platform/upstream/nodejs.git
14 years agoRemove two debug statements that are a bit much.
isaacs [Thu, 17 Dec 2009 22:06:56 +0000 (14:06 -0800)]
Remove two debug statements that are a bit much.

14 years agoBugfix: child modules get wrong id with "index.js"
isaacs [Wed, 16 Dec 2009 23:18:27 +0000 (15:18 -0800)]
Bugfix: child modules get wrong id with "index.js"

Fix for bug brought up by nua in irc, where child modules get the wrong id
when loaded from a parent module with an id of index.js or index.addon.

14 years agoInadvertently introduced a bug in how single-dot path parts are handled.
isaacs [Wed, 16 Dec 2009 22:15:24 +0000 (14:15 -0800)]
Inadvertently introduced a bug in how single-dot path parts are handled.

14 years agoBugfix: require("../foo")
isaacs [Wed, 16 Dec 2009 21:08:14 +0000 (13:08 -0800)]
Bugfix: require("../foo")

If you have a circular require chain in which one or more of the modules are
referenced with a ".." relative path, like require("../foo"), node blows up.
This patch un-blows-up that case.  There still seem to be issues with
circularity, but this solves one of the more obnoxious ones.

14 years agorequire() should throw error if module does.
Ryan Dahl [Fri, 18 Dec 2009 22:58:04 +0000 (23:58 +0100)]
require() should throw error if module does.

Reported by Kris Zyp
http://groups.google.com/group/nodejs/browse_thread/thread/1feab0309bd5402b

14 years agoUpdate to fix failing test. Rewrite of the resolveObject function, and some tweaks...
isaacs [Sun, 13 Dec 2009 00:29:12 +0000 (16:29 -0800)]
Update to fix failing test. Rewrite of the resolveObject function, and some tweaks to format.

14 years agoUse the new uri parser.
isaacs [Fri, 11 Dec 2009 23:46:32 +0000 (15:46 -0800)]
Use the new uri parser.

14 years agoAdd credits, and a "decode" function.
isaacs [Fri, 11 Dec 2009 23:46:10 +0000 (15:46 -0800)]
Add credits, and a "decode" function.

14 years agoPull in the uri.js from Narwhal and create tests, stripping out the cruft from a...
isaacs [Fri, 11 Dec 2009 23:25:35 +0000 (15:25 -0800)]
Pull in the uri.js from Narwhal and create tests, stripping out the cruft from a previous code-surgery.

14 years agoReplaced several Array.prototype.slice.call() calls with Array.prototype.unshift...
visionmedia [Fri, 18 Dec 2009 02:27:48 +0000 (18:27 -0800)]
Replaced several Array.prototype.slice.call() calls with Array.prototype.unshift.call()

Acts in pretty much the same manor just a bit more elegant

14 years agosyntax fixes in src/node.js
Joshaven Potter [Wed, 16 Dec 2009 22:33:33 +0000 (17:33 -0500)]
syntax fixes in src/node.js

14 years agoDocumentation for the assert module
Micheil Smith [Fri, 18 Dec 2009 15:17:10 +0000 (16:17 +0100)]
Documentation for the assert module

14 years agoFix kqueue check (broke it in last commit)
Ryan Dahl [Fri, 18 Dec 2009 14:45:53 +0000 (15:45 +0100)]
Fix kqueue check (broke it in last commit)

14 years agonote about why execinfo detection fails on Darwin even though it exists
Rasmus Andersson [Tue, 15 Dec 2009 22:37:49 +0000 (23:37 +0100)]
note about why execinfo detection fails on Darwin even though it exists

14 years agoFix check for epoll_ctl(). Was broken on Linux
Ryan Dahl [Fri, 18 Dec 2009 14:36:25 +0000 (15:36 +0100)]
Fix check for epoll_ctl(). Was broken on Linux

14 years agodetect nanosleep on OS X and do not look for functions in libraries we know dows...
Rasmus Andersson [Tue, 15 Dec 2009 21:46:38 +0000 (22:46 +0100)]
detect nanosleep on OS X and do not look for functions in libraries we know dows not exist

14 years agofix kqueue feature detection on Mac OS X 10.6
Rasmus Andersson [Tue, 15 Dec 2009 21:32:50 +0000 (22:32 +0100)]
fix kqueue feature detection on Mac OS X 10.6

14 years agoUpgrade V8 to 2.0.5
Ryan Dahl [Fri, 18 Dec 2009 14:05:04 +0000 (15:05 +0100)]
Upgrade V8 to 2.0.5

14 years agoAdded in API documentation concerning the (seemingly undocumented) process.chdir...
Ryan McGrath [Fri, 18 Dec 2009 06:08:10 +0000 (01:08 -0500)]
Added in API documentation concerning the (seemingly undocumented) process.chdir() method, complementary to process.cwd()

14 years agoadd missing semicolon
Ryan Dahl [Wed, 9 Dec 2009 14:59:53 +0000 (15:59 +0100)]
add missing semicolon

14 years agoUse conf.fatal() instead of fatal() in order to abort the configure script
Simon Cornelius P. Umacob [Wed, 9 Dec 2009 12:36:12 +0000 (20:36 +0800)]
Use conf.fatal() instead of fatal() in order to abort the configure script

14 years agoUpgrade waf to 1.5.10
Ryan Dahl [Wed, 9 Dec 2009 13:27:33 +0000 (14:27 +0100)]
Upgrade waf to 1.5.10

14 years agoFix posix.statSync()
Ryan Dahl [Wed, 9 Dec 2009 09:32:19 +0000 (10:32 +0100)]
Fix posix.statSync()

14 years agoStatically define symbols
Ryan Dahl [Wed, 9 Dec 2009 08:02:21 +0000 (09:02 +0100)]
Statically define symbols

~7% improvement in hello world HTTP response bench.

14 years agoRemove accidentally committed files.
Ryan Dahl [Wed, 9 Dec 2009 06:44:44 +0000 (07:44 +0100)]
Remove accidentally committed files.

14 years agofix typo
Ryan Dahl [Tue, 8 Dec 2009 06:20:51 +0000 (07:20 +0100)]
fix typo

14 years agoFix ARGV[0] weirdness
Ryan Dahl [Tue, 8 Dec 2009 05:54:26 +0000 (06:54 +0100)]
Fix ARGV[0] weirdness

14 years agoAdded superCtor to ctor.super_ instead superCtor.prototype.
Johan Dahlberg [Sat, 5 Dec 2009 12:33:15 +0000 (13:33 +0100)]
Added superCtor to ctor.super_ instead superCtor.prototype.

This way let's us do deep comparison between object instances.

I have a suggestion for the sys.inherits function. Today it's impossible to
deep comparison between instance and class.

Take this snippet for example:

function ClassA() {}
function ClassB() {}

sys.inherits(ClassB, ClassA);

var instance = new ClassB();

The instance variable inherits from ClassA but we can't check it (which is
useful sometimes). You can compare the instance against ClassB
(instance.constructor == ClassB) but we can't compare it deeper
(instance.constructor.super == ClassA). The committed change simply assign
super to the super constructor instead of the super prototype.

I can't see any problem with this fix. You can still get the super constructor
by calling super_.prototype.

14 years agoExport STATUS_CODES
visionmedia [Tue, 8 Dec 2009 00:18:43 +0000 (16:18 -0800)]
Export STATUS_CODES

Express (my framework) uses them as a default
response body when non is present. Others
might use them for something as well.

Beats duplicating the list :D

14 years agoGive default encodings for posix.read and posix.write
Ryan Dahl [Mon, 7 Dec 2009 17:03:06 +0000 (18:03 +0100)]
Give default encodings for posix.read and posix.write

14 years agoAttach/Detach -> Ref/Unref
Ryan Dahl [Mon, 7 Dec 2009 16:55:19 +0000 (17:55 +0100)]
Attach/Detach -> Ref/Unref

14 years agooffload method look up to http-parser
Ryan Dahl [Mon, 7 Dec 2009 14:21:12 +0000 (15:21 +0100)]
offload method look up to http-parser

14 years agosys.inspect prints out special chars correctly (\n, \u0001, etc...)
Xavier Shay [Mon, 7 Dec 2009 04:44:41 +0000 (15:44 +1100)]
sys.inspect prints out special chars correctly (\n, \u0001, etc...)

14 years agoUpgrade http-parser; supports webdav extension methods now
Ryan Dahl [Sun, 6 Dec 2009 22:58:16 +0000 (23:58 +0100)]
Upgrade http-parser; supports webdav extension methods now

14 years agoMake process.mixin copy over undefined values
Felix Geisendörfer [Sun, 6 Dec 2009 18:02:55 +0000 (19:02 +0100)]
Make process.mixin copy over undefined values

This is not a bug in process.mixin, but I think it is undesirable
behavior. Right now process.mixin will not copy over keys with undefined
values. To me that is an unexpected filtering that should not happen
unless specifically called for.

14 years agoTwo bug fixes for process.mixin
Felix Geisendörfer [Sun, 6 Dec 2009 17:57:20 +0000 (18:57 +0100)]
Two bug fixes for process.mixin

Bug #1 occurred when trying to use process.mixin on a function and
produced a fatal exception.

Bug #2 occurred when trying to do a deep merge with an object containing
one or more objects with a nodeType property. In those cases the deep
copy for this part of the object was not performed and a shallow one was
performed instead.

Both of these bugs were artifacts of the jQuery.extend port.

14 years agoAdd http.Client.prototype.request()
Christopher Lenz [Wed, 2 Dec 2009 22:25:56 +0000 (23:25 +0100)]
Add http.Client.prototype.request()

Change the http.Client API so that it provides a single request() method
taking an optional parameter to specify the HTTP method (defaulting to
"GET"), instead of the five methods get(), head(), post(), del() and put().

14 years agobump version v0.1.21
Ryan Dahl [Sun, 6 Dec 2009 16:53:52 +0000 (17:53 +0100)]
bump version

14 years agosys.inspect is totally more awesome now
Xavier Shay [Tue, 1 Dec 2009 10:20:14 +0000 (21:20 +1100)]
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

14 years agoImplement promises entirely in JS
Ryan Dahl [Sun, 6 Dec 2009 10:36:22 +0000 (11:36 +0100)]
Implement promises entirely in JS

14 years agoRefactor node_file.cc to not use Promises.
Ryan Dahl [Sun, 6 Dec 2009 09:50:03 +0000 (10:50 +0100)]
Refactor node_file.cc to not use Promises.

At the same time implement synchronous wrappers of the POSIX functions.
These will be undocumented until we settle on an API. Works like this

    // returns promise as before
    posix.mkdir("test").addCallback(function () {
      sys.puts("done");
    });

    // returns undefined, executed synchronously.
    posix.mkdirSync("test");
    sys.puts("done");

This refactoring is a step towards allowing promises to be implemented
purely in javascript.

14 years agoDon't use promises internally in DNS module
Ryan Dahl [Sun, 6 Dec 2009 08:23:38 +0000 (09:23 +0100)]
Don't use promises internally in DNS module

14 years agoUse --jobs=1 with WAF
Ryan Dahl [Sun, 6 Dec 2009 06:35:26 +0000 (07:35 +0100)]
Use --jobs=1 with WAF

Some people were reporting waf erroring with

  thread.error: can't start new thread

this seems to fix that problem.

14 years agoClean up context creation
Ryan Dahl [Sat, 5 Dec 2009 17:25:07 +0000 (18:25 +0100)]
Clean up context creation

14 years agoupgrade v8 to 2.0.3
Ryan Dahl [Sat, 5 Dec 2009 14:27:56 +0000 (15:27 +0100)]
upgrade v8 to 2.0.3

14 years agoBugfix: Don't use chunked encoding for 1.0 requests.
Ryan Dahl [Sat, 5 Dec 2009 07:37:46 +0000 (08:37 +0100)]
Bugfix: Don't use chunked encoding for 1.0 requests.

http://groups.google.com/group/nodejs/browse_thread/thread/b2edb76691b1848c

14 years agoExpose versionMajor versionMinor to http messages
Ryan Dahl [Sat, 5 Dec 2009 06:52:05 +0000 (07:52 +0100)]
Expose versionMajor versionMinor to http messages

14 years agoDependency free assert module with unit tests
Karl Guertin [Mon, 30 Nov 2009 02:20:37 +0000 (21:20 -0500)]
Dependency free assert module with unit tests

14 years agoCommonJS testing for node.js
Felix Geisendörfer [Sat, 28 Nov 2009 17:26:59 +0000 (18:26 +0100)]
CommonJS testing for node.js

Refactored test suite to use the assert module for testing rather than
mjsunit.

14 years agofixed HTTP duplicated header bug
Michaeljohn Clement [Wed, 2 Dec 2009 05:38:42 +0000 (00:38 -0500)]
fixed HTTP duplicated header bug

added test case for HTTP duplicated header bug on keepalive

14 years agoAdd HTTP client TLS support
Rhys Jones [Mon, 30 Nov 2009 15:51:20 +0000 (16:51 +0100)]
Add HTTP client TLS support

14 years agofixed check on header type, to check member instead of object.
jed [Sun, 29 Nov 2009 08:00:30 +0000 (01:00 -0700)]
fixed check on header type, to check member instead of object.

14 years agosys.puts should not kill the process when giving it undefined
Friedemann Altrock [Sat, 28 Nov 2009 11:15:37 +0000 (12:15 +0100)]
sys.puts should not kill the process when giving it undefined

14 years agobump version v0.1.20
Ryan Dahl [Sat, 28 Nov 2009 16:04:42 +0000 (17:04 +0100)]
bump version

14 years agoAdd V8 heap info to process.memoryUsage()
Ryan Dahl [Sat, 28 Nov 2009 15:31:29 +0000 (16:31 +0100)]
Add V8 heap info to process.memoryUsage()

14 years agoAdd gnutls version to configure script
Ryan Dahl [Sat, 28 Nov 2009 14:25:10 +0000 (15:25 +0100)]
Add gnutls version to configure script

14 years agoStat::Callback has 2 arguments for callback: current stat info and previous stat...
choonkeat [Sat, 28 Nov 2009 13:52:27 +0000 (14:52 +0100)]
Stat::Callback has 2 arguments for callback: current stat info and previous stat info

http://groups.google.com/group/nodejs/msg/f8e51a8e0c74bd85

14 years agobump version v0.1.19
Ryan Dahl [Sat, 28 Nov 2009 00:49:11 +0000 (01:49 +0100)]
bump version

14 years agoFix v8 SConstruct for freebsd
Ryan Dahl [Sat, 28 Nov 2009 00:38:32 +0000 (01:38 +0100)]
Fix v8 SConstruct for freebsd

14 years agoDocumented repl.scope for explicitly exposing variables within the repl.
simonw [Tue, 24 Nov 2009 11:13:21 +0000 (04:13 -0700)]
Documented repl.scope for explicitly exposing variables within the repl.

14 years agoUpgrade v8 to 2.0.2
Ryan Dahl [Fri, 27 Nov 2009 21:53:39 +0000 (22:53 +0100)]
Upgrade v8 to 2.0.2

14 years agoAdd process.loop() process.unloop()!!!
Ryan Dahl [Sun, 22 Nov 2009 23:59:36 +0000 (00:59 +0100)]
Add process.loop() process.unloop()!!!

Move the event loop calls into javascript.
Makes life so much easier.

14 years agodetect ccache and bail out since v8 doens't like to build with ccache
Jan Lehnardt [Sun, 22 Nov 2009 22:32:53 +0000 (23:32 +0100)]
detect ccache and bail out since v8 doens't like to build with ccache

14 years agoadd process.umask()
Friedemann Altrock [Sun, 22 Nov 2009 18:52:52 +0000 (19:52 +0100)]
add process.umask()

14 years agoPromises should not be able to be canceled more than once.
Friedemann Altrock [Sun, 22 Nov 2009 18:18:24 +0000 (19:18 +0100)]
Promises should not be able to be canceled more than once.

14 years agoReduce multipart memory footprint
Felix Geisendörfer [Sun, 22 Nov 2009 12:47:20 +0000 (13:47 +0100)]
Reduce multipart memory footprint

Multipart parts kept the first chunk of data after their headers in
memory, even so that was no longer needed.

14 years agoInitial TLS support
Rhys Jones [Sun, 22 Nov 2009 02:58:08 +0000 (03:58 +0100)]
Initial TLS support

14 years agoFix memory leak on fs.write()
Ryan Dahl [Sat, 21 Nov 2009 23:47:26 +0000 (00:47 +0100)]
Fix memory leak on fs.write()

Reported by onne@onnlucky.com.

14 years agoUpgrade http_parser (fixes bug reported by Felix)
Ryan Dahl [Sat, 21 Nov 2009 21:03:52 +0000 (22:03 +0100)]
Upgrade http_parser (fixes bug reported by Felix)

14 years agoMultipart improvements
Felix Geisendörfer [Sat, 21 Nov 2009 15:37:29 +0000 (16:37 +0100)]
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.

14 years agoRemove debug message
Ryan Dahl [Sat, 21 Nov 2009 16:15:39 +0000 (17:15 +0100)]
Remove debug message

14 years agoNew http-parser
Ryan Dahl [Sat, 21 Nov 2009 15:27:02 +0000 (16:27 +0100)]
New http-parser

No longer based on Ragel, but hand-written.

Had to add HTTPConnection.resetParser() because the parser is stricter and
will error out when you try to give it a message after the previous had
"Connection: close". The HTTP client was doing that. Thus we reset the
parser manually after each new connection.

14 years agoRevert "Normalize HTTP headers."
Ryan Dahl [Wed, 18 Nov 2009 01:12:55 +0000 (02:12 +0100)]
Revert "Normalize HTTP headers."

This reverts commit f623fd765813bba7d542e9ac9a8e2a8c2c16cba5.
But only the changes made in lib/ they were falsely detecting outgoing
headers.

14 years agofixes lib/file.js write, it doesnt allways emit errors or success
Onne [Thu, 19 Nov 2009 18:12:42 +0000 (19:12 +0100)]
fixes lib/file.js write, it doesnt allways emit errors or success

14 years agoOnly detach timers when active.
Ryan Dahl [Thu, 19 Nov 2009 18:08:47 +0000 (19:08 +0100)]
Only detach timers when active.

14 years agoSpeed up test-wait-ordering.js
Ryan Dahl [Wed, 18 Nov 2009 14:54:27 +0000 (15:54 +0100)]
Speed up test-wait-ordering.js

14 years agoUpgrade v8 to 2.0
Ryan Dahl [Wed, 18 Nov 2009 14:25:58 +0000 (15:25 +0100)]
Upgrade v8 to 2.0

(With just one change: remove -Werror)

14 years agoFix default value for persistent in watchFile()
Ryan Dahl [Tue, 17 Nov 2009 22:07:31 +0000 (23:07 +0100)]
Fix default value for persistent in watchFile()

14 years agoAdd options to process.watchFile()
Ryan Dahl [Tue, 17 Nov 2009 21:35:47 +0000 (22:35 +0100)]
Add options to process.watchFile()

14 years agobump version v0.1.18
Ryan Dahl [Tue, 17 Nov 2009 13:30:40 +0000 (14:30 +0100)]
bump version

14 years agoTest runner should only run test-*.js
Ryan Dahl [Tue, 17 Nov 2009 14:04:20 +0000 (15:04 +0100)]
Test runner should only run test-*.js

14 years agoFix stat handler test for macintosh
Ryan Dahl [Tue, 17 Nov 2009 13:52:18 +0000 (14:52 +0100)]
Fix stat handler test for macintosh

14 years agoadd link to slides on web page
Ryan Dahl [Tue, 17 Nov 2009 13:22:23 +0000 (14:22 +0100)]
add link to slides on web page

14 years agoAdd process.watchFile() process.unwatchFile()
Ryan Dahl [Tue, 17 Nov 2009 13:07:48 +0000 (14:07 +0100)]
Add process.watchFile() process.unwatchFile()

This is an interface to libev's ev_stat watcher.

14 years agoUpgrade libev to latest CVS
Ryan Dahl [Tue, 17 Nov 2009 11:41:19 +0000 (12:41 +0100)]
Upgrade libev to latest CVS

14 years agoFormat JSON for inspecting objects
Felix Geisendörfer [Mon, 16 Nov 2009 10:21:23 +0000 (11:21 +0100)]
Format JSON for inspecting objects

This patch enables formatting for inspecting JSON objects. Example:

p({foo: "bar", deep: {foo: "bar"}})

becomes:

{
 "foo": "bar",
 "deep": {
  "foo": "bar"
 }
}

14 years agoAdd doc for uncaughtException
Ryan Dahl [Sun, 15 Nov 2009 00:06:13 +0000 (01:06 +0100)]
Add doc for uncaughtException

14 years agoImplement process "uncaughtException" event
Felix Geisendörfer [Sat, 14 Nov 2009 22:07:54 +0000 (23:07 +0100)]
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

14 years agoAdd EventEmitter.removeListener
fwg [Fri, 13 Nov 2009 16:12:41 +0000 (17:12 +0100)]
Add EventEmitter.removeListener

14 years agoSupply the strerror as a second arg to the tcp.Connection close event
Johan Sørensen [Fri, 13 Nov 2009 13:49:32 +0000 (14:49 +0100)]
Supply the strerror as a second arg to the tcp.Connection close event

14 years agoRemove debug message
Ryan Dahl [Thu, 12 Nov 2009 11:47:02 +0000 (12:47 +0100)]
Remove debug message

14 years agoBugfix, Promise.timeout() blocked the event loop
Felix Geisendörfer [Thu, 12 Nov 2009 11:35:27 +0000 (12:35 +0100)]
Bugfix, Promise.timeout() blocked the event loop

Promise.timeout() was blocking the event loop from shutting down while it
was waiting for an internal timer to fire. This timer is now cleared when
it is no longer needed, causing the event loop to shut down as fast as
possible.

14 years agoBugfix for sendBody() and chunked utf8 strings
Felix Geisendörfer [Wed, 11 Nov 2009 17:32:00 +0000 (18:32 +0100)]
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

14 years agoTemporary function to determine str byte length
Felix Geisendörfer [Wed, 11 Nov 2009 17:10:58 +0000 (18:10 +0100)]
Temporary function to determine str byte length

Will need a better place later on

14 years agoProper deprecation message for process.inherits
Felix Geisendörfer [Wed, 11 Nov 2009 16:03:13 +0000 (17:03 +0100)]
Proper deprecation message for process.inherits

14 years agoAdd 'drain' event to tcp.Connection
Ryan Dahl [Sat, 7 Nov 2009 15:19:00 +0000 (16:19 +0100)]
Add 'drain' event to tcp.Connection

15 years agobump version v0.1.17
Ryan Dahl [Sat, 7 Nov 2009 19:20:30 +0000 (20:20 +0100)]
bump version

15 years agoBug fix for test-remote-module-loading.js
Felix Geisendörfer [Sat, 7 Nov 2009 16:56:49 +0000 (17:56 +0100)]
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.

15 years agoUse '127.0.0.1' instead of 'localhost' for keep-alive test
Ryan Dahl [Sat, 7 Nov 2009 16:31:40 +0000 (17:31 +0100)]
Use '127.0.0.1' instead of 'localhost' for keep-alive test

ab seems to have to problem resolving 'localhost' on Urban's computer.

15 years agoFix ev_unref error in signal handler
Ryan Dahl [Sat, 7 Nov 2009 16:18:23 +0000 (17:18 +0100)]
Fix ev_unref error in signal handler