platform/upstream/nodejs.git
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

15 years agodeprecation error for process.inherits()
Ryan Dahl [Sat, 7 Nov 2009 15:27:18 +0000 (16:27 +0100)]
deprecation error for process.inherits()

15 years agoOutput stderr from test-remote-module-loading.js
Ryan Dahl [Sat, 7 Nov 2009 14:08:46 +0000 (15:08 +0100)]
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/

15 years agoCreate require.main, remove process.cat()
Ryan Dahl [Sat, 7 Nov 2009 13:57:49 +0000 (14:57 +0100)]
Create require.main, remove process.cat()

15 years agoAPI: rename process.inherits to sys.inherits
Ryan Dahl [Sat, 7 Nov 2009 13:45:39 +0000 (14:45 +0100)]
API: rename process.inherits to sys.inherits

15 years agoCombine all compiled javascript files into src/node.js
Ryan Dahl [Sat, 7 Nov 2009 13:37:22 +0000 (14:37 +0100)]
Combine all compiled javascript files into src/node.js

15 years agoAdd test to ensure the server can handle keep-alive
Ryan Dahl [Fri, 6 Nov 2009 12:42:56 +0000 (13:42 +0100)]
Add test to ensure the server can handle keep-alive

15 years agoFix http_simple server for new API
Ryan Dahl [Fri, 6 Nov 2009 11:53:27 +0000 (12:53 +0100)]
Fix http_simple server for new API

15 years agoRevert "Upgrade http parser, change node as needed."
Ryan Dahl [Fri, 6 Nov 2009 11:44:20 +0000 (12:44 +0100)]
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 b893859c34f05db5c45f416949ebc0eee665cca6.

15 years agoExpose http.IncomingMessage and http.OutgoingMessage
Ryan Dahl [Wed, 4 Nov 2009 23:02:15 +0000 (00:02 +0100)]
Expose http.IncomingMessage and http.OutgoingMessage

15 years agoFix regexp in file extension checking
Ryan Dahl [Wed, 4 Nov 2009 11:39:08 +0000 (12:39 +0100)]
Fix regexp in file extension checking

15 years agoExpose http.ClientRequest and http.ServerResponse
Ryan Dahl [Wed, 4 Nov 2009 11:37:52 +0000 (12:37 +0100)]
Expose http.ClientRequest and http.ServerResponse

15 years agoRemove unreachable lines
Ryan Dahl [Wed, 4 Nov 2009 01:18:31 +0000 (02:18 +0100)]
Remove unreachable lines

15 years agoFix google-analytics on index.html
Ryan Dahl [Tue, 3 Nov 2009 23:18:05 +0000 (00:18 +0100)]
Fix google-analytics on index.html

15 years agoAdded process.chdir()
Brandon Beacher [Tue, 3 Nov 2009 18:13:38 +0000 (13:13 -0500)]
Added process.chdir()

15 years agobump version v0.1.16
Ryan Dahl [Tue, 3 Nov 2009 12:48:02 +0000 (13:48 +0100)]
bump version

15 years agoMove memoryUsage() into C on Linux
Ryan Dahl [Tue, 3 Nov 2009 12:00:42 +0000 (13:00 +0100)]
Move memoryUsage() into C on Linux

15 years agoAdd sys.memoryUsage()
Ryan Dahl [Tue, 3 Nov 2009 00:30:01 +0000 (01:30 +0100)]
Add sys.memoryUsage()

15 years agoAdd process.platform
Ryan Dahl [Mon, 2 Nov 2009 23:21:00 +0000 (00:21 +0100)]
Add process.platform

15 years agoAdd requires to google example in docs.
Ryan Dahl [Mon, 2 Nov 2009 21:55:39 +0000 (22:55 +0100)]
Add requires to google example in docs.

15 years agoThe return of relative module loading
Felix Geisendörfer [Mon, 2 Nov 2009 20:21:02 +0000 (21:21 +0100)]
The return of relative module loading

15 years agoThe return of absolute Module loading
Felix Geisendörfer [Sun, 1 Nov 2009 23:34:16 +0000 (00:34 +0100)]
The return of absolute Module loading

15 years agoAdd mediacoder's logo to website
Ryan Dahl [Mon, 2 Nov 2009 11:28:08 +0000 (12:28 +0100)]
Add mediacoder's logo to website

15 years agoThe return of remote module loading
Felix Geisendörfer [Sun, 1 Nov 2009 14:34:46 +0000 (15:34 +0100)]
The return of remote module loading

15 years agorequire.paths aliased as process.path
Ryan Dahl [Sun, 1 Nov 2009 08:27:21 +0000 (09:27 +0100)]
require.paths aliased as process.path

15 years agoUpdate webpage with new module api
Ryan Dahl [Sat, 31 Oct 2009 19:26:03 +0000 (20:26 +0100)]
Update webpage with new module api

15 years agoUpgrade benchmark scripts for new module API
Ryan Dahl [Sat, 31 Oct 2009 19:06:46 +0000 (20:06 +0100)]
Upgrade benchmark scripts for new module API

15 years agoUpdate deprecation errors.
Ryan Dahl [Sat, 31 Oct 2009 18:56:27 +0000 (19:56 +0100)]
Update deprecation errors.

15 years agoDon't call process.exit() on missing module.
Ryan Dahl [Sat, 31 Oct 2009 18:53:07 +0000 (19:53 +0100)]
Don't call process.exit() on missing module.

Just raise exception naturally.

15 years agomodule.name renamed to module.id for commonjs compat
Ryan Dahl [Sat, 31 Oct 2009 18:47:41 +0000 (19:47 +0100)]
module.name renamed to module.id for commonjs compat

15 years agoFix search-replace errors in api.txt
Ryan Dahl [Sat, 31 Oct 2009 18:14:24 +0000 (19:14 +0100)]
Fix search-replace errors in api.txt

15 years agoModule refactor - almost CommonJS compatible now
Ryan Dahl [Sat, 31 Oct 2009 18:02:30 +0000 (19:02 +0100)]
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()

15 years agoforgot to add lib/dns.js in c53672
Ryan Dahl [Sat, 31 Oct 2009 11:19:23 +0000 (12:19 +0100)]
forgot to add lib/dns.js in c53672

15 years agoA few more node->process changes
Ryan Dahl [Thu, 29 Oct 2009 22:59:35 +0000 (23:59 +0100)]
A few more node->process changes

15 years agoNamespace EVERYTHING under process; introduce GLOBAL
Ryan Dahl [Thu, 29 Oct 2009 22:34:10 +0000 (23:34 +0100)]
Namespace EVERYTHING under process; introduce GLOBAL

http://groups.google.com/group/nodejs/browse_thread/thread/1034fd2ad2cd93e8

15 years agoUpgrade v8 to 1.3.18
Ryan Dahl [Thu, 29 Oct 2009 15:11:05 +0000 (16:11 +0100)]
Upgrade v8 to 1.3.18

15 years agoThe return of Promise.cancel() with some additional tests & docs
Felix Geisendörfer [Thu, 29 Oct 2009 10:19:47 +0000 (11:19 +0100)]
The return of Promise.cancel() with some additional tests & docs

15 years agoClean up posix module docs
Ryan Dahl [Thu, 29 Oct 2009 10:17:26 +0000 (11:17 +0100)]
Clean up posix module docs

15 years agoMove node.dns.* into /dns.js
Ryan Dahl [Wed, 28 Oct 2009 22:02:52 +0000 (23:02 +0100)]
Move node.dns.* into /dns.js

15 years agonode.fs.* moved into "/posix.js"
Ryan Dahl [Wed, 28 Oct 2009 21:45:40 +0000 (22:45 +0100)]
node.fs.* moved into "/posix.js"

use require("/posix.js") to access them.

15 years agofix error from v8 upgrade
Ryan Dahl [Wed, 28 Oct 2009 20:35:49 +0000 (21:35 +0100)]
fix error from v8 upgrade

15 years agoUpgrade v8 to 1.3.17
Ryan Dahl [Wed, 28 Oct 2009 18:25:22 +0000 (19:25 +0100)]
Upgrade v8 to 1.3.17

15 years agoDRY up the open, write, read, and close methods on the File prototype.
Tim Caswell [Wed, 28 Oct 2009 16:49:22 +0000 (11:49 -0500)]
DRY up the open, write, read, and close methods on the File prototype.

15 years agobump version v0.1.15
Ryan Dahl [Wed, 28 Oct 2009 15:36:44 +0000 (16:36 +0100)]
bump version

15 years agoRevert "Change HTTP back to a 1.1 client."
Ryan Dahl [Wed, 28 Oct 2009 14:37:58 +0000 (15:37 +0100)]
Revert "Change HTTP back to a 1.1 client."

This reverts commit 9a70abbf1378060d1b46240eed0dcd0dffd526ff.

15 years agoOnly allow a promise to fire once, remove promise.cancel()
Ryan Dahl [Fri, 16 Oct 2009 12:55:30 +0000 (14:55 +0200)]
Only allow a promise to fire once, remove promise.cancel()

promise.cancel() is due to return at some point.

15 years agoUse full path to link to libv8.a and libudns.a
Ryan Dahl [Tue, 27 Oct 2009 21:50:46 +0000 (22:50 +0100)]
Use full path to link to libv8.a and libudns.a

Previously was linking just by doing -lv8 or -ludns which could confuse the
build when a system libv8 or libudns was installed.

15 years agoLink to objects instead of shlibs for evcom, http_parser, coupling
Ryan Dahl [Tue, 27 Oct 2009 21:26:53 +0000 (22:26 +0100)]
Link to objects instead of shlibs for evcom, http_parser, coupling

15 years agofix make install (was broken from node_ prefix change)
Ryan Dahl [Tue, 27 Oct 2009 19:17:03 +0000 (20:17 +0100)]
fix make install (was broken from node_ prefix change)

15 years agoLink libev and libeio as a normal .o instead of as .a
Ryan Dahl [Tue, 27 Oct 2009 17:50:41 +0000 (18:50 +0100)]
Link libev and libeio as a normal .o instead of as .a

Using WAF "staticlib" to compile libev tends to confuse it with a system
version. Thanks to mr.binary42 for helping debug.

15 years agoAdd symlinks in root directory to executables after build.
Ryan Dahl [Tue, 27 Oct 2009 17:11:07 +0000 (18:11 +0100)]
Add symlinks in root directory to executables after build.

15 years agoEnable large file support.
Ryan Dahl [Tue, 27 Oct 2009 11:05:38 +0000 (12:05 +0100)]
Enable large file support.

15 years agoPrefix all source files with node_
Ryan Dahl [Tue, 27 Oct 2009 10:46:58 +0000 (11:46 +0100)]
Prefix all source files with node_

15 years agoRemove unused macro
Ryan Dahl [Tue, 27 Oct 2009 10:08:50 +0000 (11:08 +0100)]
Remove unused macro

15 years agoChange HTTP back to a 1.1 client.
Ryan Dahl [Mon, 26 Oct 2009 22:07:37 +0000 (23:07 +0100)]
Change HTTP back to a 1.1 client.

This was modified in b893859c34f05db5c45f416949ebc0eee665cca6 even though it
wasn't really required. Some users are experiencing problems after changing
to 1.0 - once those are identified the client will returned to 1.0.

15 years agoCorrectly guess x64 architecture
Ryan Dahl [Mon, 26 Oct 2009 21:27:52 +0000 (22:27 +0100)]
Correctly guess x64 architecture

Previously was dependent on how python was compiled, and this was causing
build errors for some Macintosh Snow Leopard users. The solution is to use
a functionality already in WAF which looks at the output of

  echo | gcc -E -dM -

15 years agoRename node.libraryPaths to require.paths
Ryan Dahl [Sun, 25 Oct 2009 21:51:10 +0000 (22:51 +0100)]
Rename node.libraryPaths to require.paths

to be more inline with CommonJS.

15 years agoAdd work-around for configure --debug with Python 2.4.3
Ryan Dahl [Fri, 16 Oct 2009 20:53:44 +0000 (22:53 +0200)]
Add work-around for configure --debug with Python 2.4.3

This is the error that was encountered:

  : make
  Waf: Entering directory `/dcs/06/csugds/node/ry-node-cfe5876/build'
  Traceback (most recent call last):
    File "tools/waf-light", line 148, in ?
      Scripting.prepare(t, cwd, VERSION, wafdir)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 142, in prepare
      prepare_impl(t, cwd, ver, wafdir)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 132, in prepare_impl
      main()
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 185, in main
      fun(ctx)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 382, in build
      return build_impl(bld)
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Scripting.py", line 395, in build_impl
      bld.add_subdirs([os.path.split(Utils.g_module.root_path)[0]])
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Build.py", line 924, in add_subdirs
      self.recurse(dirs, 'build')
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/Utils.py", line 599, in recurse
      f(self)
    File "<string>", line 312, in build
    File "/dcs/06/csugds/node/ry-node-cfe5876/tools/wafadmin/TaskGen.py", line 297, in clone
      setattr(newobj, x, copy.copy(getattr(self, x)))
    File "/usr/lib/python2.4/copy.py", line 108, in copy
      return _reconstruct(x, rv, 0)
    File "/usr/lib/python2.4/copy.py", line 336, in _reconstruct
      y = callable(*args)
    File "/usr/lib/python2.4/copy_reg.py", line 92, in __newobj__
      return cls.__new__(cls, *args)
  TypeError: function() takes at least 2 arguments (0 given)
  make: *** [all] Error 1

15 years agoAdd v8 patch to fix mac x64 build.
Ryan Dahl [Fri, 16 Oct 2009 15:59:54 +0000 (17:59 +0200)]
Add v8 patch to fix mac x64 build.

http://codereview.chromium.org/284012

15 years agoUpgrade v8 to 1.3.16
Ryan Dahl [Fri, 16 Oct 2009 12:05:12 +0000 (14:05 +0200)]
Upgrade v8 to 1.3.16

and apply my V8 patch for debugging.

15 years agoImprove webpage
Ryan Dahl [Fri, 16 Oct 2009 11:46:16 +0000 (13:46 +0200)]
Improve webpage

- add google-analytics
- add example to front-page

15 years agoUpgrade http parser, change node as needed.
Ryan Dahl [Thu, 15 Oct 2009 17:18:18 +0000 (19:18 +0200)]
Upgrade http parser, change node as needed.

The latest version of http-parser is a bit more stringent EOF semantics.