platform/upstream/nodejs.git
14 years agoBugfix: HTTP client automatically reconnecting
Ryan Dahl [Wed, 27 Jan 2010 17:34:45 +0000 (09:34 -0800)]
Bugfix: HTTP client automatically reconnecting

Test case by tlynn.

14 years agoAdd support for MX, TXT, and SRV records in DNS module.
Blaine Cook [Thu, 7 Jan 2010 01:28:15 +0000 (01:28 +0000)]
Add support for MX, TXT, and SRV records in DNS module.

14 years agoMake assert.AssertionError instance of Error
Ryan Dahl [Sun, 24 Jan 2010 22:39:32 +0000 (14:39 -0800)]
Make assert.AssertionError instance of Error

14 years agoremoved inline require call for querystring
cloudhead [Fri, 22 Jan 2010 22:31:58 +0000 (17:31 -0500)]
removed inline require call for querystring

14 years agoBug Fix: Late promise promise callbacks firing
Felix Geisendörfer [Sun, 24 Jan 2010 22:10:25 +0000 (23:10 +0100)]
Bug Fix: Late promise promise callbacks firing

Late promise bindings would fire regardless of the outcome of the
promise.

Test case by: Jonas "zimbatm" Pfenniger <jonas@pfenniger.name>

14 years agoFix minor issues in the documentation.
Joseph Pecoraro [Sun, 24 Jan 2010 07:44:27 +0000 (02:44 -0500)]
Fix minor issues in the documentation.

14 years agoImplemented __dirname
Felix Geisendörfer [Sat, 16 Jan 2010 12:51:57 +0000 (13:51 +0100)]
Implemented __dirname

It seems that the current __filename module global is mainly used to
determine the directory the current module is in. To make that
easier, this patch adds support for a __dirname module global
directly.

14 years agocredit Erich in ChangeLog
Ryan Dahl [Thu, 21 Jan 2010 00:33:20 +0000 (16:33 -0800)]
credit Erich in ChangeLog

14 years agoFIX: Promise timeout should not addErrback
Jonas Pfenniger [Wed, 20 Jan 2010 22:21:44 +0000 (23:21 +0100)]
FIX: Promise timeout should not addErrback

Because now, we expect the exception to be thrown if no errback
is given, we can't let timeout() add an errback silently.

14 years agoFIX: EventEmitter call in Promise
Jonas Pfenniger [Wed, 20 Jan 2010 21:04:00 +0000 (22:04 +0100)]
FIX: EventEmitter call in Promise

14 years agoFactorized deprecation messages
Jonas Pfenniger [Wed, 20 Jan 2010 20:39:10 +0000 (21:39 +0100)]
Factorized deprecation messages

14 years agoFix author in ChangeLog
Ryan Dahl [Wed, 20 Jan 2010 21:48:35 +0000 (13:48 -0800)]
Fix author in ChangeLog

14 years agobump version v0.1.26
Ryan Dahl [Wed, 20 Jan 2010 19:28:32 +0000 (11:28 -0800)]
bump version

14 years agogetmem() for solaris
Ryan Dahl [Wed, 20 Jan 2010 19:12:25 +0000 (19:12 +0000)]
getmem() for solaris

14 years agotest-http-eof-on-connect missing require('./common')
Ryan Dahl [Wed, 20 Jan 2010 18:06:44 +0000 (10:06 -0800)]
test-http-eof-on-connect missing require('./common')

14 years agoRemove -Werror from V8
Ryan Dahl [Wed, 20 Jan 2010 17:39:03 +0000 (09:39 -0800)]
Remove -Werror from V8

14 years agoTreat 'typeof Error' promise errors properly
Felix Geisendörfer [Wed, 20 Jan 2010 12:38:37 +0000 (13:38 +0100)]
Treat 'typeof Error' promise errors properly

Instead of JSON encoding them, just rethrow promise errors since that
produces much cleaner error messages.

14 years agoInitial Solaris support
Ryan Dahl [Tue, 19 Jan 2010 23:38:20 +0000 (23:38 +0000)]
Initial Solaris support

14 years agoUpgrade V8 to 2.0.6.1
Ryan Dahl [Tue, 19 Jan 2010 23:45:36 +0000 (15:45 -0800)]
Upgrade V8 to 2.0.6.1

14 years agoMake unhandled Promise errors throw an exception
Felix Geisendörfer [Tue, 19 Jan 2010 21:27:55 +0000 (22:27 +0100)]
Make unhandled Promise errors throw an exception

A promise will throw an exception unless an error handler is attached in the
same "tick" that the error is emitted. This is to avoid silent promise
failures.

14 years agoSupport late callback binding for Promises
Felix Geisendörfer [Tue, 19 Jan 2010 20:58:26 +0000 (21:58 +0100)]
Support late callback binding for Promises

Listeners attached with addCallback / addErrback will now be executed
right away if the promise has already fired.

14 years agoFixed misnamed Promise property
Felix Geisendörfer [Tue, 19 Jan 2010 20:09:14 +0000 (21:09 +0100)]
Fixed misnamed Promise property

14 years agoRemoved Promise.cancel()
Felix Geisendörfer [Tue, 19 Jan 2010 20:02:48 +0000 (21:02 +0100)]
Removed Promise.cancel()

The current implementation was bad and nobody is using it. Has a chance
of getting re-implemented by somebody who has an actual need for it.

14 years agoset default encoding in sendBody
Michaeljohn Clement [Tue, 19 Jan 2010 20:20:26 +0000 (15:20 -0500)]
set default encoding in sendBody

14 years agoAllow optional params to setTimeout, setInterval
Micheil Smith [Mon, 18 Jan 2010 17:51:50 +0000 (04:51 +1100)]
Allow optional params to setTimeout, setInterval

14 years agoAdd process.nextTick()
Ryan Dahl [Mon, 18 Jan 2010 18:27:27 +0000 (10:27 -0800)]
Add process.nextTick()

This is a replacement for the common hack:

  setTimeout(cb, 0);

It's much more efficient.

14 years agoAdd process.IdleWatcher
Ryan Dahl [Mon, 18 Jan 2010 18:12:04 +0000 (10:12 -0800)]
Add process.IdleWatcher

With priorities. Will be used for process.nextLoop().

14 years agoUpdated out of date LICENSE file.
Joseph Pecoraro [Sun, 17 Jan 2010 01:10:46 +0000 (20:10 -0500)]
Updated out of date LICENSE file.

14 years agoFixed typo in comments.
Joseph Pecoraro [Mon, 18 Jan 2010 17:04:49 +0000 (12:04 -0500)]
Fixed typo in comments.

14 years agoAPI: Move Promise and EventEmitter into 'events' module
Ryan Dahl [Fri, 15 Jan 2010 20:46:08 +0000 (12:46 -0800)]
API: Move Promise and EventEmitter into 'events' module

14 years agoHack to display more useful SyntaxError exceptions.
Ryan Dahl [Fri, 15 Jan 2010 18:45:04 +0000 (10:45 -0800)]
Hack to display more useful SyntaxError exceptions.

For some reason v8 doesn't include the frame with the syntax error in the
stack trace - so have to special case it.

14 years agouse SUN_LEN to calculate length of unix address @ FreeBSD.
Vanilla Hsu [Wed, 13 Jan 2010 03:23:21 +0000 (11:23 +0800)]
use SUN_LEN to calculate length of unix address @ FreeBSD.

14 years agoMake sure GNUTLS is first on uselib
Ryan Dahl [Tue, 12 Jan 2010 09:09:50 +0000 (01:09 -0800)]
Make sure GNUTLS is first on uselib

Why? Because I have two versions of GnuTLS installed - one is old 2.0.X in
/usr and one is new 2.5.X in ~/local/gnutls. waf correctly finds that the
newer version, but because GNUTLS was behind other libraries in the
node.uselib -L/usr/lib was before -L/home/ryan/local/gnutls/lib in the
actual gcc command - hence getting link errors. WAF SUCKS, really.
I wish someone would invent a good build system that could avoid such
problems.

14 years agoAdded regression test for issue #44
Ben Williamson [Mon, 11 Jan 2010 06:04:40 +0000 (17:04 +1100)]
Added regression test for issue #44

14 years agoError out when no compiler found
Ryan Dahl [Tue, 12 Jan 2010 00:43:10 +0000 (16:43 -0800)]
Error out when no compiler found

14 years agoUpdate http benchmark script to new url api.
Ryan Dahl [Mon, 11 Jan 2010 07:00:58 +0000 (23:00 -0800)]
Update http benchmark script to new url api.

14 years agoLazy initialize symbols for HTTP.
Ryan Dahl [Mon, 11 Jan 2010 06:27:48 +0000 (22:27 -0800)]
Lazy initialize symbols for HTTP.

14 years agoFix issue #44, eof on connect to http.
Ben Williamson [Mon, 11 Jan 2010 06:06:05 +0000 (17:06 +1100)]
Fix issue #44, eof on connect to http.

eof_symbol wasn't initialized until the first packet arrived.
In this case no packets arrive before the client closes the socket - eof.

14 years agobump version v0.1.25
Ryan Dahl [Sat, 9 Jan 2010 10:11:54 +0000 (02:11 -0800)]
bump version

14 years agoUpgrade http-parser
Ryan Dahl [Sat, 9 Jan 2010 09:52:49 +0000 (01:52 -0800)]
Upgrade http-parser

14 years agoDocumentation for path module changes.
isaacs [Fri, 8 Jan 2010 20:47:01 +0000 (12:47 -0800)]
Documentation for path module changes.

14 years agoAdd tests for path module.
isaacs [Fri, 8 Jan 2010 20:46:50 +0000 (12:46 -0800)]
Add tests for path module.

14 years agoRename path.filename() to path.basename()
isaacs [Fri, 8 Jan 2010 20:46:13 +0000 (12:46 -0800)]
Rename path.filename() to path.basename()

Also make normalizeArray a bit more proper wrt handling dots when keepBlanks
is enabled. Fix indentation.

14 years agoAdded extname function to path module that returns the extension.
Benjamin Thomas [Fri, 8 Jan 2010 07:03:23 +0000 (07:03 +0000)]
Added extname function to path module that returns the extension.

14 years agoFix another problem with the EIO interface
Ryan Dahl [Sat, 9 Jan 2010 06:18:18 +0000 (22:18 -0800)]
Fix another problem with the EIO interface

Should call eio_poll() when given a done_poll signal as well.

Bug report and test case by Kris Zyp <kriszyp@gmail.com>

14 years agoUpgrade http-parser
Ryan Dahl [Fri, 8 Jan 2010 02:36:28 +0000 (18:36 -0800)]
Upgrade http-parser

Fixes \n problem that psanford <pms.mail@gmail.com> reported.

14 years agogetmem for freebsd
Vanilla Hsu [Thu, 7 Jan 2010 07:37:27 +0000 (23:37 -0800)]
getmem for freebsd

14 years agoUpdate node-waf version to 1.5.10 - to match tools/wafadmin
Ryan Dahl [Thu, 7 Jan 2010 01:12:22 +0000 (17:12 -0800)]
Update node-waf version to 1.5.10 - to match tools/wafadmin

14 years agoFix bug in the url module's url_parse method if 'parseQueryString' is true
Benjamin Thomas [Wed, 6 Jan 2010 03:03:14 +0000 (03:03 +0000)]
Fix bug in the url module's url_parse method if 'parseQueryString' is true

14 years agolibeio bugfix part 4
Ryan Dahl [Wed, 6 Jan 2010 09:47:56 +0000 (01:47 -0800)]
libeio bugfix part 4

Oops. Last commit broke a few tests. Should work now!

14 years agolibeio bugfix part 3
Ryan Dahl [Wed, 6 Jan 2010 09:17:58 +0000 (10:17 +0100)]
libeio bugfix part 3

Finally (hopefully) fix the issue that Felix reported. It's only appearing
on macintosh (test/mjsunit/test-eio-race3.js)

The trick/hack is to call eio_poll() again before reentering the event loop.

Additionally this commit implements a more complex method of calling
eio_poll(), occasionally dropping to an ev_idle watcher.

See also:
3f3977283419fe81e09aa23b91e59de959a84abd
http://lists.schmorp.de/pipermail/libev/2010q1/000855.html
http://groups.google.com/group/nodejs/browse_thread/thread/9f8db11c792a68bb/a89705f68971f53c

14 years agolibeio bugfix part 2
Ryan Dahl [Wed, 6 Jan 2010 05:09:02 +0000 (21:09 -0800)]
libeio bugfix part 2

Reverts the change to deps/libeio/eio.c added in
04dd2d51be03c01d9ab259fe40e436730778bd01
It wasn't a bug, I was just using eio incorrectly.

See http://lists.schmorp.de/pipermail/libev/2010q1/000855.html

14 years agoUpdated docs for multipart errors
Felix Geisendörfer [Tue, 5 Jan 2010 21:50:00 +0000 (22:50 +0100)]
Updated docs for multipart errors

14 years agoClean up multipart test case
Felix Geisendörfer [Tue, 5 Jan 2010 21:44:09 +0000 (22:44 +0100)]
Clean up multipart test case

14 years agoHandle bad requests in simplified parser API
Felix Geisendörfer [Tue, 5 Jan 2010 21:37:51 +0000 (22:37 +0100)]
Handle bad requests in simplified parser API

14 years agoAdded test case for the simple multipart API
Felix Geisendörfer [Tue, 5 Jan 2010 21:28:03 +0000 (22:28 +0100)]
Added test case for the simple multipart API

So far this didn't have any test coverage.

14 years agoThrow exception for invalid multipart streams
Felix Geisendörfer [Tue, 5 Jan 2010 21:22:18 +0000 (22:22 +0100)]
Throw exception for invalid multipart streams

When using the multipart parser with an regular http request, the
parser did not complain and just never finished.

14 years agoProviding the option for a repl-printer other than sys.p
elliottcable [Tue, 5 Jan 2010 08:00:41 +0000 (23:00 -0900)]
Providing the option for a repl-printer other than sys.p

14 years agolibeio bugfix: want_poll should be called if breaking on maxreq
Ryan Dahl [Tue, 5 Jan 2010 07:26:58 +0000 (23:26 -0800)]
libeio bugfix: want_poll should be called if breaking on maxreq

Reported by shansen and hassox
http://github.com/ry/node/issues#issue/38

Will send upstream.

14 years agoUpgrade libev to 3.9
Ryan Dahl [Tue, 5 Jan 2010 06:52:48 +0000 (22:52 -0800)]
Upgrade libev to 3.9

14 years agoUpgrade libeio to latest CVS
Ryan Dahl [Tue, 5 Jan 2010 06:46:32 +0000 (22:46 -0800)]
Upgrade libeio to latest CVS

14 years agoFixed clearTimeout to check if timer is a Timer
Charles Lehner [Mon, 4 Jan 2010 00:45:17 +0000 (19:45 -0500)]
Fixed clearTimeout to check if timer is a Timer

14 years agoMoved help msg to node-repl
visionmedia [Mon, 4 Jan 2010 16:10:53 +0000 (08:10 -0800)]
Moved help msg to node-repl

14 years agoUse "url" module instead of "uri" module in http.js.
isaacs [Tue, 5 Jan 2010 05:07:50 +0000 (21:07 -0800)]
Use "url" module instead of "uri" module in http.js.

Deprecate the URI module and remove tests for it.
- Rename "uri" to "url".
- Use the "url" module instead of the "uri" module.
- Remove the url parsing from http.js
- Update http.cat with the changed field names.
- Update tests for changes to http.js
- Update documentation for changes in http.js

14 years agoAdd URL and QueryString modules, and tests for each.
isaacs [Mon, 4 Jan 2010 07:14:12 +0000 (23:14 -0800)]
Add URL and QueryString modules, and tests for each.

Also, make a slight change from original on url-module to put the
spacePattern into the function.  On closer inspection, it turns out that the
nonlocal-var cost is higher than the compiling-a-regexp cost.

Also, documentation.

14 years agoDocumentation for path module
isaacs [Mon, 4 Jan 2010 07:34:46 +0000 (23:34 -0800)]
Documentation for path module

14 years agoImprove path module slightly:
isaacs [Mon, 4 Jan 2010 07:24:25 +0000 (23:24 -0800)]
Improve path module slightly:

1. Provide a switch to tell it to not remove empty path parts when
   normalizing.
2. Correct the handling of some edge cases when you have lots of dots and
   empty bits, such as paths like "././/./..//." and so on.

14 years agoRename "Dynamic Property" to "Getter/Setter" in sys.inspect.
Tim Caswell [Sun, 3 Jan 2010 20:04:35 +0000 (14:04 -0600)]
Rename "Dynamic Property" to "Getter/Setter" in sys.inspect.

14 years agoFix inspect to not trigger dynamic properties
Tim Caswell [Sun, 3 Jan 2010 00:25:09 +0000 (18:25 -0600)]
Fix inspect to not trigger dynamic properties

but to display them as special. Add unit tests to match

14 years agoFix inspect for the special case of an Object that inherits from Array, but has other...
Tim Caswell [Thu, 31 Dec 2009 17:41:35 +0000 (11:41 -0600)]
Fix inspect for the special case of an Object that inherits from Array, but has other properties.

14 years agobump version v0.1.24
Ryan Dahl [Thu, 31 Dec 2009 08:30:53 +0000 (00:30 -0800)]
bump version

14 years agoBugfix: Don't segfault on unknown http method
Ryan Dahl [Thu, 31 Dec 2009 06:16:10 +0000 (22:16 -0800)]
Bugfix: Don't segfault on unknown http method

Reported by Chakrit Wichian.

14 years agoKill -Werror in V8 for GCC 4.4.1 users.
Ryan Dahl [Fri, 9 Oct 2009 12:21:41 +0000 (14:21 +0200)]
Kill -Werror in V8 for GCC 4.4.1 users.

http://code.google.com/p/v8/issues/detail?id=413

14 years ago'make distclean' should not call 'waf clean'
Ryan Dahl [Wed, 30 Dec 2009 01:45:15 +0000 (02:45 +0100)]
'make distclean' should not call 'waf clean'

Because if configure hasn't been run, then an error is reported.

14 years agoUpgrade V8 to 2.0.5.4
Ryan Dahl [Wed, 30 Dec 2009 01:34:22 +0000 (02:34 +0100)]
Upgrade V8 to 2.0.5.4

14 years agoBetter error message on bad ARGV[1]
Ryan Dahl [Tue, 29 Dec 2009 19:31:56 +0000 (20:31 +0100)]
Better error message on bad ARGV[1]

14 years agoSimplify exception reporting
Ryan Dahl [Tue, 29 Dec 2009 19:20:51 +0000 (20:20 +0100)]
Simplify exception reporting

14 years agoStack trace for asserts shouldn't include assert module
Ryan Dahl [Tue, 29 Dec 2009 19:14:58 +0000 (20:14 +0100)]
Stack trace for asserts shouldn't include assert module

14 years agoFix assert.js code style
Ryan Dahl [Tue, 29 Dec 2009 18:37:40 +0000 (19:37 +0100)]
Fix assert.js code style

14 years agoBugfix: libeio race condition
Ryan Dahl [Sun, 27 Dec 2009 21:07:06 +0000 (22:07 +0100)]
Bugfix: libeio race condition

Process at most 10 pending responses from the thread pool in one go.
10 was chosen arbitrarily.
Test and report by Felix Geisendörfer <felix@debuggable.com>

14 years agodon't chunk responses to HTTP/1.0 clients, even if they send Connection: Keep-Alive...
Michaeljohn Clement [Wed, 23 Dec 2009 20:48:14 +0000 (15:48 -0500)]
don't chunk responses to HTTP/1.0 clients, even if they send Connection: Keep-Alive (e.g. wget)

14 years agofix whitespace
Ryan Dahl [Tue, 22 Dec 2009 22:11:54 +0000 (23:11 +0100)]
fix whitespace

14 years agobump version v0.1.23
Ryan Dahl [Tue, 22 Dec 2009 19:31:45 +0000 (20:31 +0100)]
bump version

14 years agoDo not pause request for multipart parsing
Felix Geisendörfer [Sun, 20 Dec 2009 19:27:06 +0000 (20:27 +0100)]
Do not pause request for multipart parsing

This is actually undesireable as it takes away control from the user who
may want to pause/resume to throttle the upload stream, or synchronize
it with disk flushing.

I actually ran into memory issues when trying to stream huge files to
disc as the file module was building up a huge action buffer. This can
now easily be avoided like this:

part.addListener('body', function(chunk) {
  req.pause();
  file.write(chunk).addCallback(function() {
    req.resume();
  });
}

14 years agoposix.cat not using call() correctly
Jonas Pfenniger [Tue, 22 Dec 2009 13:52:40 +0000 (14:52 +0100)]
posix.cat not using call() correctly

'this' will point to "arguments" and the arguments of the callback itself
will not be set.

14 years agoexport path.normalizeArray for the uri module
Ryan Dahl [Tue, 22 Dec 2009 16:50:23 +0000 (17:50 +0100)]
export path.normalizeArray for the uri module

14 years agoFix require("../blah") issues
isaacs [Tue, 22 Dec 2009 15:24:32 +0000 (16:24 +0100)]
Fix require("../blah") issues

Added some more tests, and refactored the uri and path modules to use the
same normalization logic, so that nothing is relying on flaky regexps.

http://groups.google.com/group/nodejs/browse_thread/thread/34779f8c10098c5e
http://groups.google.com/group/nodejs/browse_thread/thread/1aa0146b92582679#msg_9822c03998cb4064

14 years agobump version v0.1.22
Ryan Dahl [Sat, 19 Dec 2009 00:24:59 +0000 (01:24 +0100)]
bump version

14 years agoRevert "Upgrade V8 to 2.0.5"
Ryan Dahl [Sat, 19 Dec 2009 00:04:19 +0000 (01:04 +0100)]
Revert "Upgrade V8 to 2.0.5"

This reverts commit 20b945df706b2b9fcbc1a84230372d288d497544.

Broken on Hagen's Macintosh. Don't have time to investigate.

14 years agoFix test-readdir.js
Ryan Dahl [Fri, 18 Dec 2009 23:45:01 +0000 (00:45 +0100)]
Fix test-readdir.js

Was broken because I added "throws_error.js" to the fixtures directory.
Problem appeared in bfa36136dac787793bc5106da57cccbb8db1ce14.

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