Граф коммитов

4707 Коммитов

Автор SHA1 Сообщение Дата
Ryan c4e53c7ceb Have connection.setEncoding use node::ParseEncoding 2009-05-26 18:14:32 +02:00
Ryan 24ebd0360a Clean up doc intro and syntax highlighting. 2009-05-26 18:06:53 +02:00
Ryan e8f177aa2d Clean up outgoing encoding API. Generally: send(chunk, encoding). 2009-05-26 17:48:59 +02:00
Ryan cf0eebf685 Add preliminary tcp documentation 2009-05-26 15:20:25 +02:00
Ryan c326614c8d More docs. Add rmdir and unlink. 2009-05-26 12:11:31 +02:00
Ryan a9f29cd18d File I/O documentation. Remove necessity of class="sh_javascript". 2009-05-26 11:39:40 +02:00
Ryan 2fe090b7f6 Add node.fs prefix to some constants. oops. 2009-05-26 03:37:18 +02:00
Ryan d1b0ce6d37 Large refactor of file code.
All the c++ code is now reduced to simple wrappers. The node.fs.File object
is defined entirely in javascript now. As is the actionQueue methods.

This makes the boundaries much cleaner. There is still some thought that
needs to go into how exactly the API should behave but this simplification
is a first step.
2009-05-26 03:30:51 +02:00
Ryan f3af6c6f53 More docs 2009-05-25 19:52:05 +02:00
Ryan 3eb4819db1 Add docs. Rename exit() to node.exit(). 2009-05-25 13:38:36 +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 6244f77822 Beginnings of file i/o docs. Finish up timers. 2009-05-21 12:33:57 +02:00
Ryan e787e11a1b Begin documentation for file i/o 2009-05-20 16:58:08 +02:00
Ryan cb3a11d72a Camel case status_code and http_version. 2009-05-20 16:06:08 +02:00
Ryan 691467670d More node.http.Client docs 2009-05-20 16:05:11 +02:00
Ryan 6a582a4d9a Begin node.http.Client docs 2009-05-20 13:42:26 +02:00
Ryan 81b39a04cd Add setBodyEncoding to http client responses. 2009-05-20 13:00:20 +02:00
Ryan a1aecc9378 HTTP Server: Close 1.0 connections properly. 2009-05-20 10:28:10 +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 b445514898 Remove debugging statement. 2009-05-19 20:40:56 +02:00
Ryan b9fedf0500 Add color PASS/FAIL statements. Use python for portability. 2009-05-19 20:31:40 +02:00
Ryan 6a172d7119 Fix a bug in HTTP server when receiving half-closes. 2009-05-19 20:24:37 +02:00
Ryan a5d5056327 Bug fix: need to return readyState symbol from scope. 2009-05-19 16:19:47 +02:00
Ryan 536eceaa2d Debugging http. Add simple test. (Does not pass.) 2009-05-19 14:50:09 +02:00
Ryan 3700568322 Add request method. (How could that be missing still?) 2009-05-19 14:46:07 +02:00
Ryan 5dce17c5aa Modify website colors. 2009-05-19 13:16:36 +02:00
Ryan 87e6578aa9 Simple HTTP client is working a bit. 2009-05-19 13:12:46 +02:00
Ryan 3bc73ba967 Add ParseUri to the node namespace 2009-05-19 00:01:11 +02:00
Ryan 456bb1b9f8 Work on motivation statement. 2009-05-18 23:53:26 +02:00
Ryan edc38b4134 Use parseUri() for req.uri. Update docs. 2009-05-18 19:33:05 +02:00
Ryan 9c70bf356b HTTP Server: check the ready state of the connection before each send. 2009-05-18 14:02:50 +02:00
Ryan 310eed03e0 Clean up readyState handling. Add test. 2009-05-18 13:53:39 +02:00
Ryan 69ab87ca53 Fix crash in oi_socket; add ready state reader to Connection objects. 2009-05-18 13:38:15 +02:00
Ryan 478e45a32f Change request handler to take two parameters: req, res.
This is more semantic, albeit unnecessary, usage. I think users will
be able to remember the API more easily.
2009-05-18 12:44:01 +02:00
Ryan d0b5961960 Work on website styling. 2009-05-17 15:54:06 +02:00
Ryan 9c0db09d95 Add to module documentation. 2009-05-16 13:53:18 +02:00
Ryan 9a63d8ec28 Remove v8 prefix from function template callbacks. 2009-05-16 12:54:44 +02:00
Ryan 175223d5d7 Remove HTTP parser callbacks for fragment, query_string, path.
Instead we're going to just get a single callback for the URI. This can be
parsed additionally in javascript using parseuri:
  http://blog.stevenlevithan.com/archives/parseuri
I haven't added that yet, but it will come soon.
2009-05-16 12:53:24 +02:00
Ryan 91bd3124ad Add sendUtf8 method to socket objects.
Encoding UTF-16 (the native string representation) to UTF-8 is rather
expensive, however just chopping off the second bit to convert UTF-16 to
ASCII is rather fast. I've noticed major performance issues with
String::WriteUtf8 and thus I'm going to explicitly separate in the API.

Still need interfaces to this for the web server.
2009-05-16 12:44:49 +02:00
Ryan 2cb81113ec Slightly better buffer allocation. (Probably not worth it.) 2009-05-15 22:41:36 +02:00
Ryan fb96f07ece Commit partial work in http.js. Comment out V8::Dispose(); in node.cc 2009-05-15 18:11:49 +02:00
Ryan baed9d514d Inform V8 of external allocations.
This is sloppy: after each ObjectWrap allocation the user needs to
call ObjectWrap::InformV8ofAllocation(). In addition each class deriving
from  ObjectWrap needs to implement the virtual method size() which should
return the size of the derived class. If I was better at C++ I could
possibly make this less ugly. For now this is how it is.

Memory usage looks much better after this commit.
2009-05-15 16:28:10 +02:00
Ryan 81691c7dc5 Fixes to get HTTP working with new TCP API. 2009-05-15 01:47:17 +02:00
Ryan 589d8af5d4 Wrap NewInstance with TryCatch. (Was still missing the error.) 2009-05-15 01:36:51 +02:00
Ryan febbf75302 Wrap calls in TryCatch; Check return values after UNWRAP.
This is to avoid a segfault when you don't use the API correctly.
2009-05-15 01:12:46 +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