Ryan Dahl
0accebe583
Stack trace for asserts shouldn't include assert module
2009-12-29 20:15:05 +01:00
Ryan Dahl
dd35637603
Fix assert.js code style
2009-12-29 20:10:59 +01:00
Michaeljohn Clement
3d24e119e0
don't chunk responses to HTTP/1.0 clients, even if they send Connection: Keep-Alive (e.g. wget)
2009-12-23 22:24:29 +01:00
Felix Geisendörfer
5de04dafc6
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();
});
}
2009-12-22 19:28:30 +01:00
isaacs
4dcdfaf929
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
2009-12-22 17:22:12 +01:00
isaacs
4526308560
Update to fix failing test. Rewrite of the resolveObject function, and some tweaks to format.
2009-12-18 19:02:27 +01:00
isaacs
f65b36eec1
Use the new uri parser.
2009-12-18 19:02:16 +01:00
isaacs
4a615ddd9c
Add credits, and a "decode" function.
2009-12-18 18:59:02 +01:00
isaacs
2f9722cca0
Pull in the uri.js from Narwhal and create tests, stripping out the cruft from a previous code-surgery.
2009-12-18 18:56:59 +01:00
visionmedia
501b4a54be
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
2009-12-08 05:35:56 +01:00
Xavier Shay
756544fd28
sys.inspect prints out special chars correctly (\n, \u0001, etc...)
2009-12-07 10:05:18 +01:00
Christopher Lenz
f8ba9c3bc9
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().
2009-12-06 18:36:32 +01:00
Xavier Shay
34c02357ff
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
2009-12-06 12:19:23 +01:00
Ryan Dahl
4d818f1fd3
Implement promises entirely in JS
2009-12-06 11:36:22 +01:00
Ryan Dahl
3414eab2f3
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.
2009-12-06 10:50:03 +01:00
Ryan Dahl
8141448fe5
Don't use promises internally in DNS module
2009-12-06 09:26:09 +01:00
Ryan Dahl
c5d82380f4
Bugfix: Don't use chunked encoding for 1.0 requests.
...
http://groups.google.com/group/nodejs/browse_thread/thread/b2edb76691b1848c
2009-12-05 08:37:46 +01:00
Ryan Dahl
7538e70767
Expose versionMajor versionMinor to http messages
2009-12-05 07:55:24 +01:00
Karl Guertin
4f679fd8d0
Dependency free assert module with unit tests
2009-12-05 01:05:16 +01:00
Felix Geisendörfer
530328f12b
CommonJS testing for node.js
...
Refactored test suite to use the assert module for testing rather than
mjsunit.
2009-12-05 01:05:16 +01:00
Michaeljohn Clement
485823f3e4
fixed HTTP duplicated header bug
...
added test case for HTTP duplicated header bug on keepalive
2009-12-05 00:56:22 +01:00
Rhys Jones
5b1a535cd8
Add HTTP client TLS support
2009-11-30 16:51:20 +01:00
jed
a9ea21feb4
fixed check on header type, to check member instead of object.
2009-11-30 10:14:09 +01:00
Friedemann Altrock
1107a1bd1e
sys.puts should not kill the process when giving it undefined
2009-11-28 20:56:47 +01:00
choonkeat
44d5f212fe
Stat::Callback has 2 arguments for callback: current stat info and previous stat info
...
http://groups.google.com/group/nodejs/msg/f8e51a8e0c74bd85
2009-11-28 15:13:12 +01:00
Felix Geisendörfer
27fcae738a
Reduce multipart memory footprint
...
Multipart parts kept the first chunk of data after their headers in
memory, even so that was no longer needed.
2009-11-22 15:09:55 +01:00
Rhys Jones
b6dda61249
Initial TLS support
2009-11-22 04:03:53 +01:00
Felix Geisendörfer
528c449901
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.
2009-11-21 17:16:06 +01:00
Ryan Dahl
7719ce33db
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.
2009-11-21 16:27:02 +01:00
Ryan Dahl
1eba0cadc1
Revert "Normalize HTTP headers."
...
This reverts commit f623fd7658
.
But only the changes made in lib/ they were falsely detecting outgoing
headers.
2009-11-21 15:52:12 +01:00
Onne
9d39e18c6d
fixes lib/file.js write, it doesnt allways emit errors or success
2009-11-19 19:12:42 +01:00
Felix Geisendörfer
6e9e61b9df
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"
}
}
2009-11-16 12:40:58 +01:00
Felix Geisendörfer
bffee5eda4
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
2009-11-11 18:53:05 +01:00
Ryan Dahl
43121c15be
API: rename process.inherits to sys.inherits
2009-11-07 14:45:39 +01:00
Ryan Dahl
51c1526b6a
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 b893859c34
.
2009-11-06 12:44:20 +01:00
Ryan Dahl
8ad47c8de7
Expose http.IncomingMessage and http.OutgoingMessage
2009-11-05 00:02:15 +01:00
Ryan Dahl
60131fc88c
Expose http.ClientRequest and http.ServerResponse
2009-11-04 12:37:52 +01:00
Ryan Dahl
b3b3cfe007
Move memoryUsage() into C on Linux
2009-11-03 13:00:42 +01:00
Ryan Dahl
3a70129a9c
Add sys.memoryUsage()
2009-11-03 01:30:01 +01:00
Ryan Dahl
7a2e784ad7
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()
2009-10-31 19:10:30 +01:00
Ryan Dahl
36f3bc33a3
forgot to add lib/dns.js in c53672
2009-10-31 12:19:23 +01:00
Ryan Dahl
ad0a4cefb8
Namespace EVERYTHING under process; introduce GLOBAL
...
http://groups.google.com/group/nodejs/browse_thread/thread/1034fd2ad2cd93e8
2009-10-29 23:36:41 +01:00
Ryan Dahl
3d8b14e6f7
node.fs.* moved into "/posix.js"
...
use require("/posix.js") to access them.
2009-10-28 22:45:46 +01:00
Tim Caswell
3558952899
DRY up the open, write, read, and close methods on the File prototype.
2009-10-28 19:17:02 +01:00
Ryan Dahl
910c627fc6
Revert "Change HTTP back to a 1.1 client."
...
This reverts commit 9a70abbf13
.
2009-10-28 15:37:58 +01:00
Ryan Dahl
9a70abbf13
Change HTTP back to a 1.1 client.
...
This was modified in b893859c34
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.
2009-10-26 23:07:37 +01:00
Ryan Dahl
b893859c34
Upgrade http parser, change node as needed.
...
The latest version of http-parser is a bit more stringent EOF semantics.
2009-10-15 19:18:18 +02:00
Timothy Caswell
2b9a9f9140
Clean up many of the reccommendations from jslint in the file.js library
2009-10-13 19:55:33 +02:00
Ryan Dahl
2b8ab7e24f
utils.js links to sys.js instead of other way around
2009-10-13 19:55:28 +02:00
Ryan Dahl
349200bd1c
symlink sys.js to utils.js
2009-10-09 14:09:42 +02:00
Ryan Dahl
e46a832ded
Use /bin/sh from exec()
2009-10-08 01:30:26 +02:00
Felix Geisendörfer
6219f2a2be
Removed getHeader() function thanks to f623f
2009-10-07 17:30:30 +02:00
Ryan Dahl
f623fd7658
Normalize HTTP headers.
...
"Content-Length" becomes "content-length".
2009-10-07 16:56:19 +02:00
Felix Geisendörfer
abbc624f52
Multipart test now uses a fixture instead of CURL
2009-10-07 02:03:24 +02:00
Felix Geisendörfer
3fd1cba073
Fixed bad indention in multipart.js
2009-10-07 02:03:24 +02:00
Ryan Dahl
82465fc4b1
Do not use /bin/sh to create child processes.
...
Instead directly call execvp(). This change is needed for the
soon-to-be-added signal handlers because the /bin/sh parent process does not
pass all signals to it's children, particularly SIGUSR1 on Linux.
The parameters of createChildProcess had to be changed slightly.
utils.exec() also has a changed implementation. A bug involving quoted
arguments was knowingly introduced into utils.exec(). Will fix later.
2009-10-07 01:08:33 +02:00
Ryan Dahl
522909bcbf
Parse queryString into req.uri.params
2009-10-05 14:52:26 +02:00
Ryan Dahl
e2b7902469
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.
2009-10-04 12:19:01 +02:00
Felix Geisendörfer
eeaa267cbe
Documentation for Multipart parser
...
Also added multipart.parse as a convenience function
2009-10-03 18:06:24 +02:00
Ryan Dahl
7b337096c9
Add a third argument to http.cat to specify req headers.
2009-09-30 11:55:03 +02:00
isaacs
45f5402446
Pass the Host header in http.cat calls, if it was specified in the URL passed to http.cat.
2009-09-29 16:38:07 -07:00
Ryan Dahl
cda659a8c8
Camel-case all http events
2009-09-29 18:06:14 +02:00
Ryan Dahl
27738d8e60
Clean up some things in the repl, add docs.
2009-09-28 18:48:19 +02:00
Ryan Dahl
c27d9f986a
include utils in the repl.
2009-09-28 18:48:18 +02:00
Ryan Dahl
095470854b
Move tcp library to /tcp.js
2009-09-28 18:48:18 +02:00
Ryan Dahl
0955b0c8de
Add forgotten file lib/utils.js
2009-09-28 18:48:17 +02:00
Ryan Dahl
f6657c3c9d
Move http library to /http.js
2009-09-28 12:36:36 +02:00
Ryan Dahl
7abad8b7b3
API: Move node.puts(), node.exec() and others to /utils.js
2009-09-28 12:06:30 +02:00
Felix Geisendörfer
27c750154e
Multipart stream parser
2009-09-27 16:58:56 +02:00
Ryan Dahl
4f69871c17
Add node.inspect() and deprecate p().
2009-09-27 12:33:44 +02:00
Ryan Dahl
9cd7864fd9
readFile/writeFile to read/write in file library.
...
as suggested by Bluebie.
2009-09-27 11:07:54 +02:00
RayMorgan
028e24c9f5
When printing, check to see if value is undefined. If so, print nothing.
2009-09-24 22:16:07 -07:00
RayMorgan
7674bd5004
Added _ that is te result of the previous command.
2009-09-24 19:53:11 -07:00
RayMorgan
6915188a46
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
2009-09-24 18:56:37 -07:00
Ryan Dahl
ffded5ac86
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.
2009-09-24 00:56:24 +02:00
Ryan Dahl
8549994c4b
Add readFile to '/file.js'
...
Thanks Hagen.
2009-09-22 17:28:04 +02:00
Ryan Dahl
a02ca7a590
Add writeFile() to /file.js
...
Initial patch by Tim Caswell.
2009-09-22 12:15:49 +02:00
Ryan Dahl
cd70d4a9c0
Add "/file.js" buffered disk I/O object.
...
This is similar to the class node.File which was removed in
82cb1b5acb
.
Needs documentation.
2009-09-20 20:42:23 +02:00
Ryan Dahl
4b8f503fac
Move mjsunit.js to system module directory.
2009-09-20 18:19:33 +02:00