Ryan Dahl [Mon, 5 Oct 2009 18:29:59 +0000 (20:29 +0200)]
Remove old references to node.loadingModules
Ryan Dahl [Mon, 5 Oct 2009 17:15:38 +0000 (19:15 +0200)]
Remove include() from website.
Ryan Dahl [Mon, 5 Oct 2009 13:46:31 +0000 (15:46 +0200)]
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
Ryan Dahl [Mon, 5 Oct 2009 12:51:41 +0000 (14:51 +0200)]
Parse queryString into req.uri.params
Ryan Dahl [Mon, 5 Oct 2009 11:16:56 +0000 (13:16 +0200)]
Fix typo
Ryan Dahl [Mon, 5 Oct 2009 11:04:21 +0000 (13:04 +0200)]
Remove node.pc
Ryan Dahl [Sun, 4 Oct 2009 10:17:50 +0000 (12:17 +0200)]
Don't use parseUri for HTTP server
The big parseUri RE was showing up often in profiles - this is simpler and
yields better performance by taking advantage of the C http parser.
Ryan Dahl [Sun, 4 Oct 2009 09:50:53 +0000 (11:50 +0200)]
Modify node_addon configure api
Ryan Dahl [Sun, 4 Oct 2009 09:14:39 +0000 (11:14 +0200)]
Update addon documentation
Ryan Dahl [Sun, 4 Oct 2009 08:33:39 +0000 (10:33 +0200)]
Add node-waf to help with building addons.
Ryan Dahl [Sat, 3 Oct 2009 20:43:54 +0000 (22:43 +0200)]
Add Makefiles which were forgotten.
Ryan Dahl [Sat, 3 Oct 2009 20:42:03 +0000 (22:42 +0200)]
Improve "make dist" remove generated doc from repo.
Ryan Dahl [Sat, 3 Oct 2009 19:46:59 +0000 (21:46 +0200)]
Don't unnecessarily output the makefile from the configure script.
Ryan Dahl [Sat, 3 Oct 2009 17:08:05 +0000 (19:08 +0200)]
Install wafadmin into $PREFIX/lib/node/wafadmin
This is in preparation for a special node_waf script for building external
modules.
Also change system library path to $PREFIX/lib/node/libraries
Felix Geisendörfer [Sat, 3 Oct 2009 14:40:06 +0000 (16:40 +0200)]
Documentation for Multipart parser
Also added multipart.parse as a convenience function
Ryan Dahl [Sat, 3 Oct 2009 13:08:03 +0000 (15:08 +0200)]
SetClassName on internal classes.
Ryan Dahl [Sat, 3 Oct 2009 12:45:35 +0000 (14:45 +0200)]
Replace DEFINE_SIMPLE_CALLBACK macros with explicit functions
Ryan Dahl [Fri, 2 Oct 2009 15:05:42 +0000 (17:05 +0200)]
Use waf-light instead of waf
This way there won't be strange tools/.waf-12343 directories hanging about.
All that waf needs to run is inside the tools/wafadmin directory.
Ryan Dahl [Fri, 2 Oct 2009 14:24:49 +0000 (16:24 +0200)]
chat.tinyclouds.org -> chat.nodejs.org
Ryan Dahl [Fri, 2 Oct 2009 12:10:40 +0000 (14:10 +0200)]
Add note about symbol visibility in V8 to wscript
Ryan Dahl [Wed, 30 Sep 2009 21:21:25 +0000 (23:21 +0200)]
bump version
Ryan Dahl [Wed, 30 Sep 2009 09:54:14 +0000 (11:54 +0200)]
Add a third argument to http.cat to specify req headers.
isaacs [Tue, 29 Sep 2009 23:38:07 +0000 (16:38 -0700)]
Pass the Host header in http.cat calls, if it was specified in the URL passed to http.cat.
Ryan Dahl [Tue, 29 Sep 2009 17:28:54 +0000 (19:28 +0200)]
Bugfix: require() and include() should work in callbacks.
Removing requireAsync and includeAsync from global scope for now as a
temporary fix. Reported by Yuffster.
Ryan Dahl [Tue, 29 Sep 2009 16:06:36 +0000 (18:06 +0200)]
Clean up some text in documentation.
Ryan Dahl [Tue, 29 Sep 2009 16:06:14 +0000 (18:06 +0200)]
Camel-case all http events
Ryan Dahl [Mon, 28 Sep 2009 20:39:00 +0000 (22:39 +0200)]
Copy Python's shutil.copytree into wscript.
It's broken in Python 2.4.4. One gets this message when trying to run
configure:
[...]
Checking for SYS_clock_gettime : ok
Checking for library rt : ok
Checking for function clock_gettime : ok
Checking for function nanosleep : ok
Checking for function ceil : ok
---- deps/udns ----
Traceback (most recent call last):
File "/path/to/node/tools/waf", line 148, in ?
Scripting.prepare(t, cwd, VERSION, wafdir)
File "/path/to/node/tools/.waf-1.5.8-
3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 102, in prepare
prepare_impl(t,cwd,ver,wafdir)
File "/path/to/node/tools/.waf-1.5.8-
3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 95, in prepare_impl
main()
File "/path/to/node/tools/.waf-1.5.8-
3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 130, in main
fun(ctx)
File "/path/to/node/tools/.waf-1.5.8-
3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 168, in configure
conf.sub_config([''])
File "/path/to/node/tools/.waf-1.5.8-
3e327cd9534c48e6762f56fdb1332663/wafadmin/Configure.py", line 100, in sub_config
self.recurse(k,name='configure')
File "/path/to/node/tools/.waf-1.5.8-
3e327cd9534c48e6762f56fdb1332663/wafadmin/Utils.py", line 391, in recurse
f(self)
File "<string>", line 82, in configure
File "<string>", line 48, in conf_subproject
File "/usr/lib/python2.4/shutil.py", line 111, in copytree
os.mkdir(dst)
OSError: [Errno 2] No such file or directory: '/sites/rabidlabs.net/sandboxes/m/public_html/projects/0909.node/node/build/default/deps/udns'
The problem is probably this:
http://mail.python.org/pipermail/python-bugs-list/2005-January/027118.html
As a solution I am copying 2.6's version of the function in.
Ryan Dahl [Mon, 28 Sep 2009 20:16:43 +0000 (22:16 +0200)]
Add doc for node.compile()
Ryan Dahl [Mon, 28 Sep 2009 17:44:40 +0000 (19:44 +0200)]
Update module loading docs
Ryan Dahl [Mon, 28 Sep 2009 16:10:25 +0000 (18:10 +0200)]
Add warning when coroutine stack size grows too large.
For the moment too large is 10.
Ryan Dahl [Mon, 28 Sep 2009 16:03:43 +0000 (18:03 +0200)]
docs: Reference node.libraryPaths in helpers section.
Ryan Dahl [Mon, 28 Sep 2009 15:37:34 +0000 (17:37 +0200)]
Clean up some things in the repl, add docs.
Ryan Dahl [Mon, 28 Sep 2009 15:12:28 +0000 (17:12 +0200)]
Error message on bad module load.
Ryan Dahl [Mon, 28 Sep 2009 14:50:19 +0000 (16:50 +0200)]
API: Move node.exit() to process.exit().
Ryan Dahl [Mon, 28 Sep 2009 14:50:03 +0000 (16:50 +0200)]
include utils in the repl.
Ryan Dahl [Mon, 28 Sep 2009 14:13:33 +0000 (16:13 +0200)]
Don't delete timer object on clearTimeout.
I've heard delete is inefficient in v8. Better to let the garbage collector
take care of it naturally.
Ryan Dahl [Mon, 28 Sep 2009 14:08:09 +0000 (16:08 +0200)]
Move tcp library to /tcp.js
Ryan Dahl [Mon, 28 Sep 2009 15:44:52 +0000 (17:44 +0200)]
Add forgotten file lib/utils.js
Ryan Dahl [Mon, 28 Sep 2009 16:47:45 +0000 (18:47 +0200)]
http.js license reference
Ryan Dahl [Mon, 28 Sep 2009 10:36:36 +0000 (12:36 +0200)]
Move http library to /http.js
Ryan Dahl [Mon, 28 Sep 2009 10:06:30 +0000 (12:06 +0200)]
API: Move node.puts(), node.exec() and others to /utils.js
Ryan Dahl [Mon, 28 Sep 2009 09:46:09 +0000 (11:46 +0200)]
Remove api.xml from gitignore
Felix Geisendörfer [Sun, 27 Sep 2009 14:52:33 +0000 (16:52 +0200)]
Multipart stream parser
Ryan Dahl [Sun, 27 Sep 2009 10:52:28 +0000 (12:52 +0200)]
Add docbook documentation
Ryan Dahl [Sun, 27 Sep 2009 10:33:44 +0000 (12:33 +0200)]
Add node.inspect() and deprecate p().
Ryan Dahl [Sun, 27 Sep 2009 09:07:54 +0000 (11:07 +0200)]
readFile/writeFile to read/write in file library.
as suggested by Bluebie.
Jeremy Lal [Sun, 27 Sep 2009 08:45:52 +0000 (10:45 +0200)]
Fixes for libeio wscript on Debian.
- Link libeio to pthread.
- Add -D_GNU_SOURCE to libeio wscript.
Ryan Dahl [Sat, 26 Sep 2009 13:10:56 +0000 (15:10 +0200)]
Changes to compile on Andrew Miller's very old machine
Ryan Dahl [Fri, 25 Sep 2009 06:40:34 +0000 (08:40 +0200)]
Remove -Werror on v8, for compiling on GCC 4.4
RayMorgan [Fri, 25 Sep 2009 05:16:07 +0000 (22:16 -0700)]
When printing, check to see if value is undefined. If so, print nothing.
RayMorgan [Fri, 25 Sep 2009 02:53:11 +0000 (19:53 -0700)]
Added _ that is te result of the previous command.
RayMorgan [Fri, 25 Sep 2009 01:56:37 +0000 (18:56 -0700)]
Enhanced the repl library.
Now supports:
- command options: .help, .break, .clear, .exit
- local vars and global functions
- ability to print 0, false and ""
- when value is a function, prints [Function]
- when object is circular, prints [Circular Object] instead of throwing an error
Ryan Dahl [Thu, 24 Sep 2009 11:51:10 +0000 (13:51 +0200)]
bump version
Ryan Dahl [Thu, 24 Sep 2009 11:44:25 +0000 (13:44 +0200)]
Clean up website a bit.
Ryan Dahl [Wed, 23 Sep 2009 22:56:24 +0000 (00:56 +0200)]
Extract the good parts of node-repl into standalone library.
Now you can require("/repl.js") in your server to be able to examine it
while it's running.
Ryan Dahl [Wed, 23 Sep 2009 15:54:38 +0000 (17:54 +0200)]
Decrease default TCP backlog to 128
...after seeing http://lionet.livejournal.com/42016.html
Ryan Dahl [Wed, 23 Sep 2009 15:00:20 +0000 (17:00 +0200)]
Change example at beginning of api.txt
Ryan Dahl [Wed, 23 Sep 2009 14:58:28 +0000 (16:58 +0200)]
Syntax highlighting for <tt> elements.
Ryan Dahl [Wed, 23 Sep 2009 14:53:31 +0000 (16:53 +0200)]
Add documentation about requiring system modules.
Ryan Dahl [Wed, 23 Sep 2009 14:39:43 +0000 (16:39 +0200)]
Tighten window on timer test.
Ryan Dahl [Wed, 23 Sep 2009 14:33:24 +0000 (16:33 +0200)]
cpplint.js file.{cc,h}
Ryan Dahl [Wed, 23 Sep 2009 14:09:40 +0000 (16:09 +0200)]
Call "connection" event after connection object is fully formed.
This became an apparent problem when adding setNoDelay because the command
was ignored if issued during the "connection" event.
Ryan Dahl [Wed, 23 Sep 2009 13:35:03 +0000 (15:35 +0200)]
Add connection.setNoDelay() to disable Nagle algorithm.
Ryan Dahl [Wed, 23 Sep 2009 12:49:51 +0000 (14:49 +0200)]
Upgrade v8 to 1.3.13
Felix Geisendörfer [Tue, 22 Sep 2009 22:46:56 +0000 (00:46 +0200)]
Syntax highlighting for api.html.
Asciidoc does not seem to support including custom JS, so this patch is a hack
for toc.js to dynamically include the needed CSS / JS. It should be ok unless
somebody has a better approach ...
Ryan Dahl [Tue, 22 Sep 2009 22:14:28 +0000 (00:14 +0200)]
Bugfix: EIOPromise::Create was allocating two EIOPromise objects
This is because it would call the javascript initializer which executed
Promise::New, and then it would rewrap the handle. Instead I make an
explicit inheritance from EIOPromise to Promise.
This seems to fix a memory leak which was reported by Ray Morgan:
http://groups.google.com/group/nodejs/browse_thread/thread/
e38949b1989da1d7
Ryan Dahl [Tue, 22 Sep 2009 16:35:15 +0000 (18:35 +0200)]
delete[] instead of delete for arrays.
Ryan Dahl [Tue, 22 Sep 2009 15:27:50 +0000 (17:27 +0200)]
Add readFile to '/file.js'
Thanks Hagen.
Ryan Dahl [Tue, 22 Sep 2009 10:15:45 +0000 (12:15 +0200)]
Add writeFile() to /file.js
Initial patch by Tim Caswell.
Ryan Dahl [Mon, 21 Sep 2009 10:27:22 +0000 (12:27 +0200)]
Remove "raw" encoding. Rename "raws" to "binary".
Deprecation warnings have been added to help the conversion to this new API.
Ryan Dahl [Sun, 20 Sep 2009 18:54:19 +0000 (20:54 +0200)]
Move node-repl to bin/node-repl
Ryan Dahl [Sun, 20 Sep 2009 18:40:20 +0000 (20:40 +0200)]
Add "/file.js" buffered disk I/O object.
This is similar to the class node.File which was removed in
82cb1b5acb53000690448bf3d9b5d1f40ee66f76.
Needs documentation.
Ryan Dahl [Sun, 20 Sep 2009 16:19:33 +0000 (18:19 +0200)]
Move mjsunit.js to system module directory.
Ryan Dahl [Sun, 20 Sep 2009 16:03:55 +0000 (18:03 +0200)]
Improve error message for requiring system modules.
Ryan Dahl [Sun, 20 Sep 2009 15:40:14 +0000 (17:40 +0200)]
Add node.error(); p() outputs to stderr.
Ryan Dahl [Sun, 20 Sep 2009 15:35:07 +0000 (17:35 +0200)]
Throw ret value from wait() only if it's there.
Ryan Dahl [Sun, 20 Sep 2009 15:34:27 +0000 (17:34 +0200)]
return error from cat_promise in node.fs.cat
Ryan Dahl [Fri, 18 Sep 2009 13:45:47 +0000 (15:45 +0200)]
Absolute path names for require() refer to node.libraryPaths
Ryan Dahl [Fri, 18 Sep 2009 16:32:25 +0000 (18:32 +0200)]
bump version
Ryan Dahl [Thu, 17 Sep 2009 14:16:41 +0000 (16:16 +0200)]
Upgrade v8 to 1.3.11
Ryan Dahl [Thu, 17 Sep 2009 13:36:31 +0000 (15:36 +0200)]
Add node.installPrefix
Ryan Dahl [Thu, 17 Sep 2009 13:15:05 +0000 (15:15 +0200)]
Add more explanation to docs for request.finish().
Ryan Dahl [Thu, 17 Sep 2009 12:58:18 +0000 (14:58 +0200)]
Bugfix: node.fs.write() was stack allocating buffer.
Since the buffer is passed to the thread pool it needs to be heap allocated.
Thanks to Jon Crosby and Tim Caswell for debugging this.
Jon Crosby [Thu, 17 Sep 2009 06:28:31 +0000 (23:28 -0700)]
Add failing spec for node.fs.write
Ryan Dahl [Tue, 15 Sep 2009 20:41:25 +0000 (22:41 +0200)]
Default to utf8 encoding for node.fs.cat()
Ryan Dahl [Tue, 15 Sep 2009 20:32:37 +0000 (22:32 +0200)]
update doc for node.fs.write()
Ryan Dahl [Tue, 15 Sep 2009 13:42:16 +0000 (15:42 +0200)]
Add node.exec()
Ryan Dahl [Tue, 15 Sep 2009 13:25:06 +0000 (15:25 +0200)]
Add documentation for promise.emitSuccess and emitError
Ryan Dahl [Mon, 14 Sep 2009 20:44:25 +0000 (22:44 +0200)]
fix typo on website
Ryan Dahl [Mon, 14 Sep 2009 14:34:31 +0000 (16:34 +0200)]
Remove unused variable in http.cc
Ryan Dahl [Mon, 14 Sep 2009 14:25:41 +0000 (16:25 +0200)]
Fix buffering logic for HTTP outgoing messages.
Was sending two packets instead of one for some short messages, and even 3,
for short chunked-encoded messages. Also use the more general Encode()
function for receiving HTTP bodies.
Gives ~6% improvement on "hello world" web server benchmarks.
Ryan Dahl [Sun, 13 Sep 2009 21:44:56 +0000 (23:44 +0200)]
Remove erroneously placed EV_DEFAULT_UC_
Ryan Dahl [Sun, 13 Sep 2009 16:31:17 +0000 (18:31 +0200)]
API: node.fs.read() takes a normal encoding parameter.
Removes node.UTF8, node.RAW, node.ASCII enum versions of the encodings.
node.fs.read() now supports "raws" encoding.
Ryan Dahl [Sun, 13 Sep 2009 16:19:03 +0000 (18:19 +0200)]
Fix default encoding for outgoing HTTP messages
Was causing send() to throw argument errors because arrays of ints would get
paired with the "raws" encoding. The bug was introduced in 8eb1294.
Ryan Dahl [Sun, 13 Sep 2009 15:43:19 +0000 (17:43 +0200)]
Bugfix: ReportException shouldn't forget the top frame.
Ryan Dahl [Sun, 13 Sep 2009 10:38:59 +0000 (12:38 +0200)]
Bugfix: sendBody wasn't setting encoding
Ryan Dahl [Sat, 12 Sep 2009 17:14:16 +0000 (19:14 +0200)]
Fix broken asciidoc section
Jeff Smick [Sat, 12 Sep 2009 10:40:27 +0000 (12:40 +0200)]
Use "platform.architecture()" to find the proper architecture.
In Snow Leopard "platform.machine()" returns "i386" while
"platform.architecture()" returns ('64bit',''). Using information from both
we can determine the proper architecture
This reverts commit
ea29e137b5a9acda27bd9601448639aacfc1cd9e re-enabling the
64bit build on Macintosh.
Ryan [Sat, 12 Sep 2009 12:18:42 +0000 (14:18 +0200)]
Lint
Ryan [Sat, 12 Sep 2009 11:01:03 +0000 (13:01 +0200)]
API: Change arguments of emit(), emitSuccess(), emitError()
Instead of
myemitter.emit("event", [arg1, arg2, arg3]);
the API is now
myemitter.emit("event", arg1, arg2, arg3);
This change saves the creation of an extra array object for each event.
The implementation is also slightly more simple.