Ryan Dahl [Sun, 13 Dec 2009 07:57:54 +0000 (08:57 +0100)]
Add some tests to test-buffer.js
Ryan Dahl [Sun, 13 Dec 2009 07:42:45 +0000 (08:42 +0100)]
Rename blob to buffer.
Ryan Dahl [Sun, 13 Dec 2009 07:39:20 +0000 (08:39 +0100)]
initial blobs
Ryan Dahl [Tue, 29 Dec 2009 19:31:56 +0000 (20:31 +0100)]
Better error message on bad ARGV[1]
Ryan Dahl [Tue, 29 Dec 2009 19:20:51 +0000 (20:20 +0100)]
Simplify exception reporting
Ryan Dahl [Tue, 29 Dec 2009 19:14:58 +0000 (20:14 +0100)]
Stack trace for asserts shouldn't include assert module
Ryan Dahl [Tue, 29 Dec 2009 18:37:40 +0000 (19:37 +0100)]
Fix assert.js code style
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>
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)
Ryan Dahl [Tue, 22 Dec 2009 22:11:54 +0000 (23:11 +0100)]
fix whitespace
Ryan Dahl [Tue, 22 Dec 2009 19:31:45 +0000 (20:31 +0100)]
bump version
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();
});
}
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.
Ryan Dahl [Tue, 22 Dec 2009 16:50:23 +0000 (17:50 +0100)]
export path.normalizeArray for the uri module
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
Ryan Dahl [Sat, 19 Dec 2009 00:24:59 +0000 (01:24 +0100)]
bump version
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.
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.
isaacs [Thu, 17 Dec 2009 22:06:56 +0000 (14:06 -0800)]
Remove two debug statements that are a bit much.
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.
isaacs [Wed, 16 Dec 2009 22:15:24 +0000 (14:15 -0800)]
Inadvertently introduced a bug in how single-dot path parts are handled.
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.
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
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.
isaacs [Fri, 11 Dec 2009 23:46:32 +0000 (15:46 -0800)]
Use the new uri parser.
isaacs [Fri, 11 Dec 2009 23:46:10 +0000 (15:46 -0800)]
Add credits, and a "decode" function.
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.
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
Joshaven Potter [Wed, 16 Dec 2009 22:33:33 +0000 (17:33 -0500)]
syntax fixes in src/node.js
Micheil Smith [Fri, 18 Dec 2009 15:17:10 +0000 (16:17 +0100)]
Documentation for the assert module
Ryan Dahl [Fri, 18 Dec 2009 14:45:53 +0000 (15:45 +0100)]
Fix kqueue check (broke it in last commit)
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
Ryan Dahl [Fri, 18 Dec 2009 14:36:25 +0000 (15:36 +0100)]
Fix check for epoll_ctl(). Was broken on Linux
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
Rasmus Andersson [Tue, 15 Dec 2009 21:32:50 +0000 (22:32 +0100)]
fix kqueue feature detection on Mac OS X 10.6
Ryan Dahl [Fri, 18 Dec 2009 14:05:04 +0000 (15:05 +0100)]
Upgrade V8 to 2.0.5
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()
Ryan Dahl [Wed, 9 Dec 2009 14:59:53 +0000 (15:59 +0100)]
add missing semicolon
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
Ryan Dahl [Wed, 9 Dec 2009 13:27:33 +0000 (14:27 +0100)]
Upgrade waf to 1.5.10
Ryan Dahl [Wed, 9 Dec 2009 09:32:19 +0000 (10:32 +0100)]
Fix posix.statSync()
Ryan Dahl [Wed, 9 Dec 2009 08:02:21 +0000 (09:02 +0100)]
Statically define symbols
~7% improvement in hello world HTTP response bench.
Ryan Dahl [Wed, 9 Dec 2009 06:44:44 +0000 (07:44 +0100)]
Remove accidentally committed files.
Ryan Dahl [Tue, 8 Dec 2009 06:20:51 +0000 (07:20 +0100)]
fix typo
Ryan Dahl [Tue, 8 Dec 2009 05:54:26 +0000 (06:54 +0100)]
Fix ARGV[0] weirdness
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.
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
Ryan Dahl [Mon, 7 Dec 2009 17:03:06 +0000 (18:03 +0100)]
Give default encodings for posix.read and posix.write
Ryan Dahl [Mon, 7 Dec 2009 16:55:19 +0000 (17:55 +0100)]
Attach/Detach -> Ref/Unref
Ryan Dahl [Mon, 7 Dec 2009 14:21:12 +0000 (15:21 +0100)]
offload method look up to http-parser
Xavier Shay [Mon, 7 Dec 2009 04:44:41 +0000 (15:44 +1100)]
sys.inspect prints out special chars correctly (\n, \u0001, etc...)
Ryan Dahl [Sun, 6 Dec 2009 22:58:16 +0000 (23:58 +0100)]
Upgrade http-parser; supports webdav extension methods now
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.
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.
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().
Ryan Dahl [Sun, 6 Dec 2009 16:53:52 +0000 (17:53 +0100)]
bump version
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
Ryan Dahl [Sun, 6 Dec 2009 10:36:22 +0000 (11:36 +0100)]
Implement promises entirely in JS
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.
Ryan Dahl [Sun, 6 Dec 2009 08:23:38 +0000 (09:23 +0100)]
Don't use promises internally in DNS module
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.
Ryan Dahl [Sat, 5 Dec 2009 17:25:07 +0000 (18:25 +0100)]
Clean up context creation
Ryan Dahl [Sat, 5 Dec 2009 14:27:56 +0000 (15:27 +0100)]
upgrade v8 to 2.0.3
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
Ryan Dahl [Sat, 5 Dec 2009 06:52:05 +0000 (07:52 +0100)]
Expose versionMajor versionMinor to http messages
Karl Guertin [Mon, 30 Nov 2009 02:20:37 +0000 (21:20 -0500)]
Dependency free assert module with unit tests
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.
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
Rhys Jones [Mon, 30 Nov 2009 15:51:20 +0000 (16:51 +0100)]
Add HTTP client TLS support
jed [Sun, 29 Nov 2009 08:00:30 +0000 (01:00 -0700)]
fixed check on header type, to check member instead of object.
Friedemann Altrock [Sat, 28 Nov 2009 11:15:37 +0000 (12:15 +0100)]
sys.puts should not kill the process when giving it undefined
Ryan Dahl [Sat, 28 Nov 2009 16:04:42 +0000 (17:04 +0100)]
bump version
Ryan Dahl [Sat, 28 Nov 2009 15:31:29 +0000 (16:31 +0100)]
Add V8 heap info to process.memoryUsage()
Ryan Dahl [Sat, 28 Nov 2009 14:25:10 +0000 (15:25 +0100)]
Add gnutls version to configure script
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
Ryan Dahl [Sat, 28 Nov 2009 00:49:11 +0000 (01:49 +0100)]
bump version
Ryan Dahl [Sat, 28 Nov 2009 00:38:32 +0000 (01:38 +0100)]
Fix v8 SConstruct for freebsd
simonw [Tue, 24 Nov 2009 11:13:21 +0000 (04:13 -0700)]
Documented repl.scope for explicitly exposing variables within the repl.
Ryan Dahl [Fri, 27 Nov 2009 21:53:39 +0000 (22:53 +0100)]
Upgrade v8 to 2.0.2
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.
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
Friedemann Altrock [Sun, 22 Nov 2009 18:52:52 +0000 (19:52 +0100)]
add process.umask()
Friedemann Altrock [Sun, 22 Nov 2009 18:18:24 +0000 (19:18 +0100)]
Promises should not be able to be canceled more than once.
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.
Rhys Jones [Sun, 22 Nov 2009 02:58:08 +0000 (03:58 +0100)]
Initial TLS support
Ryan Dahl [Sat, 21 Nov 2009 23:47:26 +0000 (00:47 +0100)]
Fix memory leak on fs.write()
Reported by onne@onnlucky.com.
Ryan Dahl [Sat, 21 Nov 2009 21:03:52 +0000 (22:03 +0100)]
Upgrade http_parser (fixes bug reported by Felix)
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.
Ryan Dahl [Sat, 21 Nov 2009 16:15:39 +0000 (17:15 +0100)]
Remove debug message
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.
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.
Onne [Thu, 19 Nov 2009 18:12:42 +0000 (19:12 +0100)]
fixes lib/file.js write, it doesnt allways emit errors or success
Ryan Dahl [Thu, 19 Nov 2009 18:08:47 +0000 (19:08 +0100)]
Only detach timers when active.
Ryan Dahl [Wed, 18 Nov 2009 14:54:27 +0000 (15:54 +0100)]
Speed up test-wait-ordering.js
Ryan Dahl [Wed, 18 Nov 2009 14:25:58 +0000 (15:25 +0100)]
Upgrade v8 to 2.0
(With just one change: remove -Werror)
Ryan Dahl [Tue, 17 Nov 2009 22:07:31 +0000 (23:07 +0100)]
Fix default value for persistent in watchFile()
Ryan Dahl [Tue, 17 Nov 2009 21:35:47 +0000 (22:35 +0100)]
Add options to process.watchFile()
Ryan Dahl [Tue, 17 Nov 2009 13:30:40 +0000 (14:30 +0100)]
bump version
Ryan Dahl [Tue, 17 Nov 2009 14:04:20 +0000 (15:04 +0100)]
Test runner should only run test-*.js
Ryan Dahl [Tue, 17 Nov 2009 13:52:18 +0000 (14:52 +0100)]
Fix stat handler test for macintosh