Commit Graph

176 Commits (8ad47c8de7609f6b8f729f1b212271a39fdd03f9)

Author SHA1 Message Date
Ryan 145072e736 Add test-process-kill.js 2009-06-21 14:06:03 +02:00
Ryan e71b089cd7 Add test-process-simple.js 2009-06-21 14:02:01 +02:00
Urban Hafner fc63f840b0 Merge branch 'master' of git://github.com/ry/node 2009-06-19 09:03:24 +02:00
Ryan 89d891f912 Small clean up in test-http-client-race 2009-06-18 14:50:10 +02:00
Ryan e30e4415ee Fixes for ipv6 2009-06-18 14:34:49 +02:00
Urban Hafner ce85f84d15 Implementation of node.http.cat 2009-06-17 08:52:47 +02:00
Urban Hafner 79010540fc Test case for node.http.cat 2009-06-17 08:01:28 +02:00
Urban Hafner b581749255 Merge branch 'master' of git://github.com/ry/node 2009-06-16 21:09:37 +02:00
Ryan d77f757745 Fix test-http-client-race bug 2009-06-16 20:53:15 +02:00
Ryan 194eeac0d9 Add failing test for HTTP Client
Reported by Hagen:
http://groups.google.com/group/nodejs/browse_thread/thread/335b565360437b36
2009-06-16 19:56:00 +02:00
Ryan 3b05cf260e Add "opening" readyState for the resolve period. 2009-06-16 15:50:52 +02:00
Urban Hafner 6b9e5eedf2 Test for remote module loading 2009-06-16 08:20:00 +02:00
Ryan 870b5db46c Bugfix+Refactor: accessing HTTP connection remoteAddress 2009-06-15 15:29:32 +02:00
Ryan dcf5e72036 Fiddle with remoteAddress 2009-06-15 14:35:02 +02:00
Ryan 916b9ca715 Add Request objects on the HTTP server can be interrupted. 2009-06-12 17:37:43 +02:00
Ryan 3a0de007aa onBodyComplete was not getting called in HTTP server 2009-06-12 15:26:06 +02:00
Ryan 1a1406c80e Add 'localhost' to connect() to test for issue 3 2009-06-11 13:43:00 +02:00
Ryan f657a6324a Fix comment/test for Mac getaddinfo() bug.
Note: the test case was broken because on Macintosh the client connects
synchronously. This is undesirable but ok for now.
2009-06-11 11:42:43 +02:00
Ryan 88c04e74c9 Add HTTP proxy test. Fix bug in http.Server.
was not properly inheriting http.Server from http.LowLevelServer.
2009-06-09 14:10:53 +02:00
Ryan dca7f7bada Add http server / http client test. 2009-06-09 10:28:59 +02:00
Ryan 8b49cef10b Modify the tests to use onExit hook.
No need to rely on stdout output now.
onExit callbacks should print stack trace from onExit failure
2009-06-08 19:10:36 +02:00
Ryan f6a7fe2657 Implement onExit() hook for modules.
onExit() is similar to the onLoad() callback. onExit() is called on each
module just before the process exits. This can be used to check state in
unit tests, but not to perform I/O. The process will forcibly exit as soon
as all of the onExit callbacks are made.
2009-06-08 16:17:33 +02:00
Ryan b6fe4aec50 Module system refactor
There is one major API change in the refactor: filename extensions are now
required when requiring or including modules.

Added extra test to test-module-loading.js.
2009-06-08 15:34:15 +02:00
Ryan 5558bc4e6e Add connection.remoteAddress for server-side node.tcp.Connections. 2009-06-05 20:15:54 +02:00
Ryan 8cfdd326a8 Add "had_error" argument to the "onDisconnect" in node.tcp.Client
This is a boolean value which allows one to detect if the socket was closed
due to errors. There is not yet a way to look up the actual error code.
2009-06-04 12:33:19 +02:00
Ryan ed283dc280 Fix bug: catting non-existent files 2009-06-01 12:56:28 +02:00
Ryan 5c2389fada Remove error codes from file on_completion callbacks. Use file.onError.
The error codes still remain for the two general file system operations:
rename and stat.

Additionally I've removed the actionQueue for file system operations. They
are sent directly into the thread pool.
2009-05-25 13:17:35 +02:00
Ryan 58c13e5192 Namespace File stuff in node.fs 2009-05-21 12:49:41 +02:00
Ryan 0ef5c99973 Add http.ServerRequest.setBodyEncoding. Needs test still. 2009-05-20 10:17:07 +02:00
Ryan 1b54e3d87d Change encoding setter/getter to setEncoding function. 2009-05-20 10:02:02 +02:00
Ryan 5e37dfca02 Clean up tests. Add docs. 2009-05-19 22:32:41 +02:00
Ryan 82e773630b HTTP Client: add fix to allow TCP connection to reconnect. 2009-05-19 21:53:26 +02:00
Ryan 6a172d7119 Fix a bug in HTTP server when receiving half-closes. 2009-05-19 20:24:37 +02:00
Ryan 536eceaa2d Debugging http. Add simple test. (Does not pass.) 2009-05-19 14:50:09 +02:00
Ryan 310eed03e0 Clean up readyState handling. Add test. 2009-05-18 13:53:39 +02:00
Ryan 73fb24f48d Relatively large update to TCP API. No more "protocol".
Instead servers are passed a function which gets called on connection (like
in the original design) which has one argument, the connecting socket. The
user sets up callbacks on that. It's pretty much how I had it originally.

Encoding is now set via v8 getter/setter and can be changed dynamically.

The timeout for all sockets is fixed at 60 seconds for now. Need to fix
that.
2009-05-14 23:47:21 +02:00
Ryan 31ba3cde17 Rename TCP classes to sit in node hierarchy. 2009-05-14 20:34:14 +02:00
Ryan de6036669d Add p() like in Ruby. 2009-05-14 18:37:53 +02:00
Ryan 28f86c7aa8 update node.html 2009-05-14 17:36:25 +02:00
Ryan 30450388d6 update oi_socket - modify node code to match 2009-05-05 12:52:18 +02:00
Ryan 09c2ae5c3e Slight change in tcp connection constructor
For server-side sockets, no longer pass the server object to the
js constructor. This is set later with SetAcceptor.

I think the change is a bit strage and convoluted but it allows one give
protocol /classes/ to the c++ constructors instead of protocol instances.
This is nice because derived classes (like HTTP) don't need to copy the
protocol instanciation code.
2009-05-04 12:08:13 +02:00
Ryan 5a071ad72f Begin refactor of http.cc. Remove libebb add http_parser.
And most of http.cc was deleted.
2009-05-03 14:09:16 +02:00
Ryan bb6057d9ad rename Connection.disconnect -> Connection.close 2009-05-03 01:11:39 +02:00
Ryan 1713386580 add Connection::SendEOF. modify test accordingly. 2009-05-03 01:01:42 +02:00
Ryan 15d24d8002 Major refactor of network code
Here I massively change both the external and internal API of the TCP
sockets and servers.

This change introduces the concept of a protocol object like is found in
Twisted Python. I believe this allows for a much cleaner description of how
a socket behaves. What was once a single object "client" or "connection" is
now represented by two objects: a "connection" and a "protocol".

Well - I don't want to ramble too much because neither API is yet public or
documented.  Look the diff of test/test-pingpong.js to see how things have
changed.
2009-05-02 16:34:24 +02:00
Ryan 3886e183fd Add test for setInterval 2009-04-29 14:12:24 +02:00
Ryan 0f5170339c remove process.{cc,h} process.exit() now exit()
the process object might return in the future but for now it is going away.
2009-04-29 11:09:32 +02:00
Ryan cf1c58063e Create a node namespace
Part of general reorganization.
2009-04-28 23:09:56 +02:00
Ryan f17ecf20be change localhost to 127.0.0.1 because macs suck 2009-04-23 19:04:01 +02:00
Ryan a4593e3ebd WAF: fix the debug variant.
problem is they both build by default. need a way to disable the debug variant.
2009-04-23 13:18:38 +02:00
Ryan 8514e0627a improved ping pong test. 2009-04-23 01:14:11 +02:00
Ryan e6d96e8e66 rename echoserver -> pingpong 2009-04-22 16:05:14 +02:00
Ryan f3f9a08de1 beef up the echoserver test 2009-04-22 16:04:05 +02:00
Ryan 63ec0454d2 add echo test. remove debug printfs 2009-04-22 15:52:23 +02:00
Ryan d105d88625 on_load -> onLoad 2009-04-21 16:30:47 +02:00
Ryan 5d57fa5060 clean up timers a bit 2009-04-21 16:24:56 +02:00
Ryan a0f2b8a0c5 remove debug messages from module loading. 2009-04-21 14:38:55 +02:00
Ryan 408526a1c1 debugging/improving the module framework 2009-04-21 13:52:21 +02:00
Ryan f5b2a8f072 remove old test files 2009-04-20 18:48:25 +02:00
Ryan 7baacb56a9 ensure socket closure in very old test scripts 2009-04-20 18:46:09 +02:00
Ryan 93f7f0dca0 reimplement module loading
still missing several important features and its mostly untested but the script
test/test-test.js is working and thats enough for now.
2009-04-20 02:55:08 +02:00
Ryan e7dd20dc6e add File.stat File.exists File.strerror 2009-04-18 10:58:41 +02:00
Ryan dd691decd2 file system methods to be queued. 2009-04-17 18:54:29 +02:00
Ryan c8e20fbf81 add file.read only. raw encoding right now. 2009-04-16 21:05:41 +02:00
Ryan e303d950d9 add stdout stderr global file objects. remove node.blocking.print 2009-04-16 13:58:10 +02:00
Ryan c0b90ca763 only store fd in javascript (not in c++) 2009-04-16 13:42:34 +02:00
Ryan 470c6342cc Change symantics of file.open. Now takes a callback argument. 2009-04-16 13:20:35 +02:00
Ryan 7e1350f6e4 add file.write() 2009-04-16 11:37:44 +02:00
Ryan 63a9cd3897 everything is changed. i've waited much too long to commit.
this is awful. i'm sorry for being so messy.
2009-04-15 10:08:28 +02:00
Ryan 1e5de42a75 allow null host parameter to listen on localhost 2009-03-13 12:22:35 +01:00
Ryan a8ac42384d change HTTPServer constructor. Now: HTTPServer(host, port, onrequest); 2009-03-09 14:09:09 +01:00
Ryan b4985d1a6e working towards working keep-alive. need tests 2009-03-06 19:49:52 +01:00
Ryan db618cb708 add minimal amount about HTTPServer to spec 2009-03-05 14:36:19 +01:00
Ryan ab248e8422 add test/test_clearTimeout.rb 2009-03-04 12:04:04 +01:00
Ryan 8b71ba5e68 add test_setTimeout
Had to disable Init_tcp because it starts an oi_async thread pool and
prevents the node loop from exiting when no watchers remain. Not sure how
to deal with this problem in general because eventually we'll need the
thread pool.
2009-03-04 11:54:20 +01:00
Ryan 9e5eff3b27 add test/test_http_server_echo and 'make test' 2009-03-04 11:35:43 +01:00