Ryan Dahl
cc9d5ab546
C-Ares shouldn't iterate over all Object.prototype elements
...
and furthermore error out of one of them isn't a DNS option.
Test case by Ben Lund <ben.lund@gmail.com>; additional help from Tim Caswell
<tim@creationix.com>.
2010-04-11 16:12:20 -07:00
Ryan Dahl
8553e8a15d
Add incoming.httpVersion
2010-04-11 15:15:36 -07:00
Ryan Dahl
93913dbdb8
Add failing test for HEAD requests
...
Needs to be fixed for 0.2.
2010-04-11 12:21:36 -07:00
Ryan Dahl
08a09bb50a
Use some more Binary/F methods for Buffer
2010-04-08 16:31:02 -07:00
Ryan Dahl
50c70ac714
Update stream API: forceClose() -> destroy(), close() -> end()
2010-04-08 12:24:29 -07:00
Herbert Vojcik
c16508c87a
Better require.async throw test
2010-04-08 08:17:58 -07:00
Ryan Dahl
d923c94a0c
Remove udns
2010-04-07 18:25:37 -07:00
Ryan Dahl
8f671041a5
Check for ip address in dns_cares.lookup
2010-04-07 16:04:33 -07:00
Ryan Dahl
f13e2f96e4
Add a simple c-ares test, dns_cares.lookup() for easy resolv
2010-04-07 15:37:08 -07:00
Herbert Vojcik
d36bb6536e
Better require.async tests
2010-04-07 11:47:45 -07:00
Krishna Rajendran
96df65e88e
Make test-dns.js use dns_cares.
2010-04-07 01:29:20 -07:00
Ryan Dahl
53dd9fe200
Fix bug in buffer.utf8Write() which included \u0000
2010-04-05 18:10:36 -07:00
isaacs
4befe93a4b
Add ini.stringify functionality, a test, and some TODOs in ini.js
2010-04-05 17:05:35 -07:00
Ryan Dahl
1b758ef268
Allow stream to write on close
2010-04-05 16:50:05 -07:00
Ryan Dahl
0301adf9b4
In tests, wait for 'listening' before connecting
2010-04-05 11:32:18 -07:00
Ryan Dahl
b72ffc0e07
Add buffer.copy
2010-04-04 18:59:40 -07:00
Rhys Jones
c55c0a1fca
Add SSL tests
2010-04-02 17:14:03 -07:00
Ryan Dahl
c0e18f37d4
Don't reference fixtures/multipart.js
2010-04-02 16:02:48 -07:00
Ryan Dahl
94644d743c
Remove multipart library
...
Too messy, unmaintainable. Pull it out of the history if you need it.
2010-04-02 16:01:16 -07:00
Ryan Dahl
53530e981a
Fix test-http-chunked. Need to check for \0 at end of utf8 strings
2010-04-02 14:55:28 -07:00
Ryan Dahl
b9106b0ecd
Use AF_INET sockets instead of always AF_INET6
...
You can get AF_INET6 still, it's just not the only choice.
2010-04-02 13:20:56 -07:00
Johan Dahlberg
18de108e4c
Bugfix: watchFile, unwatch, watch causes error
...
Fixed bug that caused application to cast a "TypeError: Cannot call method
'addListener' of undefined" when first watching a file, unwatching and then
watching same file again.
2010-03-31 10:38:25 -07:00
Ryan Dahl
70ffdf5db9
Fix HTTP keep-alive
2010-03-23 21:10:01 -07:00
Ryan Dahl
6b6dcf4aad
Move test-child-process-spawn-loop to pummel/
2010-03-23 21:02:30 -07:00
Ryan Dahl
8e9ec4abea
Fix idle timeouts
...
Remove process.now because it doesn't provide enough precision.
2010-03-23 20:54:19 -07:00
Ryan Dahl
a01d8a0d68
Timer clean ups
...
Also bugfix getting pointer to C++ class in watcher
2010-03-23 17:28:26 -07:00
Ryan Dahl
903977d5e8
Merge branch 'master' into net2
...
Conflicts:
test/simple/test-event-emitter-modify-in-emit.js
2010-03-19 21:48:39 -07:00
Ryan Dahl
025116f8d0
Move Buffer into own module
2010-03-19 20:58:24 -07:00
Ryan Dahl
b80f6e9ed1
http2 now default
2010-03-19 19:52:09 -07:00
Ryan Dahl
4278f35e89
Add support for Buffer to fs.write
2010-03-19 18:36:22 -07:00
Ryan Dahl
e01464373f
Speed up test-buffer
2010-03-19 11:30:51 -07:00
Ryan Dahl
90295d9fce
[net2] inline write on empty write buffer for performance
2010-03-19 02:24:16 -07:00
Ryan Dahl
1762abcece
http2 now passes all tests
2010-03-18 15:49:42 -07:00
Carson McDonald
e5cbe73a82
Better EventEmitter modify-in-emit
...
Changed ReallyEmit so that it clones the Array of listeners before
processing the emit. Added better tests to make sure that modifying
listeners inside event handlers doesn't cause later listeners to be skipped
or added.
2010-03-18 14:08:20 -07:00
Ryan Dahl
33d5c46e8c
All tests to use http2
2010-03-18 14:01:17 -07:00
Ryan Dahl
6db43f4c29
net2 HTTPClient work
2010-03-18 13:21:52 -07:00
Ryan Dahl
b865f9e9c8
Merge branch 'master' into net2
2010-03-17 16:24:43 -07:00
Ryan Dahl
04c06b9149
child process now use net.Socket
2010-03-17 14:00:17 -07:00
Krishna Rajendran
84277ea845
Check for callback argument in PTR lookup
2010-03-17 00:46:44 -07:00
isaacs
31ed37fdf0
evalcx shouldn't be too fancy
...
After getting some feedback from Mikeal Rogers and Tim Smart, it was decided
that evalcx should not try to do any fancy security stuff, and instead leave
that in the hands of the user. To comply more with spidermonkey, everything
is passed in, and objects are passed in by reference rather than being
cloned.
2010-03-16 20:09:13 -07:00
Ryan Dahl
217e4b40d4
Check for callback argument in DNS functions
2010-03-16 10:48:14 -07:00
Krishna Rajendran
3c97a4391a
Update test-dns.js to work with latest api
2010-03-16 10:29:43 -07:00
isaacs
943b2c61a8
Make evalcx work like it's supposed to.
...
1. Move the context->Enter() call so that the global obj is available for writing.
2. On success, copy the modified global out to the sandbox object.
3. Don't copy functions in either direction. They have scope and closures, and make for craziness when trying to keep contexts separate.
4. Only do the ->ToObject->Clone() on objects, so that simple values stay simple.
5. Update the test so that it tests all this stuff.
2010-03-16 10:27:47 -07:00
Ryan Dahl
fdf46a65c9
Use streams for stdout and stdin
2010-03-15 15:11:40 -07:00
Ryan Dahl
cbfd4da818
Merge branch 'master' into net2
...
Conflicts:
src/node.cc
2010-03-15 14:34:01 -07:00
Ryan Dahl
a6f904cab7
Tests should use compiled-in modules not build-dir modules
2010-03-15 08:14:51 -07:00
Ryan Dahl
96f08cf05c
Work on net2 http client
2010-03-12 18:39:02 -08:00
Ryan Dahl
c857d65dd3
Disable test-net-fd-passing for now
2010-03-12 12:43:28 -08:00
Ryan Dahl
28211519b6
Merge branch 'master' into HEAD
...
Conflicts:
lib/fs.js
wscript
2010-03-12 12:42:15 -08:00
Tim-Smart
ae10a48383
Initial implementation of process.evalcx
2010-03-12 08:22:48 -08:00
Tim-Smart
0c17067d87
Add require.registerExtension
2010-03-11 22:00:55 -08:00
Ryan Dahl
462a8f8652
add error listener to test-net-pingpong
2010-03-11 12:39:50 -08:00
isaacs
976983960d
More ini parser features.
...
Update the ini parser to support some more whitespace cases, turn lines
without an equal sign into a "flag" that's just true if set, and support
comments.
2010-03-10 21:44:59 -08:00
Ryan Dahl
0918bb2070
Adjust a few more tests to work with net2
2010-03-09 18:37:23 -08:00
Ryan Dahl
c1a0ade7e7
Further net2 compatibilities
2010-03-09 16:27:49 -08:00
Ryan Dahl
264a67aed2
Update net.js for new stream API
2010-03-09 11:59:42 -08:00
Ryan Dahl
c69d3f4a35
Don't use process.mixin in test-buffer.js
2010-03-09 10:54:01 -08:00
Ryan Dahl
faffee0c62
Merge branch 'master' into net2
2010-03-09 10:45:06 -08:00
Aaron Heckmann
f8eb163728
Add removeAllListeners
2010-03-09 09:30:14 -08:00
isaacs
5861db8a69
Remove process.mixin dependency from all tests.
2010-03-08 17:57:04 -08:00
Ryan Dahl
8c4561d2a0
Merge branch 'master' into net2
2010-03-08 11:14:11 -08:00
Ryan Dahl
c9c13e0718
require('fs') in test-http-tls
2010-03-08 11:13:24 -08:00
Felix Geisendörfer
44dde5f24c
Remove fs/path globals from test suite
...
It is way too easy to not notice bugs due to those modules being
exported as globals while running the test suite.
See: http://github.com/ry/node/issues#issue/75
2010-03-08 10:20:07 -08:00
Felix Geisendörfer
9a9f08b1bc
Add callbacks to stream methods
...
Allows for more fine graining, especially finding out about an individual
chunk of data being flushed in a write stream rather than the whole queue.
This commit also fixes a bug causing forceClose to fail on a readStream that
did not finish opening yet.
2010-03-08 09:05:56 -08:00
Rasmus Andersson
374300ca8d
Updated patch of node.cc for supporting reading of umask
2010-03-07 12:07:57 -08:00
Ryan Dahl
681733d905
Merge branch 'master' into net2
2010-03-05 20:51:26 -08:00
Ryan Dahl
b9cd3363ef
Bugfix in querystring
2010-03-05 17:07:02 -08:00
Rob Ellis
5c78c45fa3
Added Parse INI to Node, tests
2010-03-05 16:17:57 -08:00
Ryan Dahl
5217eda1ae
Merge remote branch 'felixge/file2'
2010-03-05 11:11:23 -08:00
Felix Geisendörfer
0fcc94525a
Renamed fileReadStream -> createReadStream
...
Did the same for fileWriteStream as well.
2010-03-05 18:56:25 +01:00
Felix Geisendörfer
48562fa938
Updated file streams
...
Read streams now only support forceClose()
Write streams support close() and forceClose()
2010-03-05 18:43:29 +01:00
Felix Geisendörfer
f6e00759ef
Initial read stream implementation
2010-03-05 18:43:28 +01:00
Ryan Dahl
769a35024f
Allow passing env to child process
2010-03-03 10:45:58 -08:00
Ryan Dahl
0e844d3bcb
tcp.Connection.prototype.write should return boolean
2010-03-02 21:16:17 -08:00
Rasmus Andersson
5c602b750a
Rewrote realpath implementation solving all known failing tests (also added a bunch of new test cases)
2010-03-02 17:35:34 -08:00
Felix Geisendörfer
61785afb3d
Initial write stream implementation
2010-03-02 23:29:54 +01:00
Ryan Dahl
7881b59f6b
Merge branch 'master' into net2
2010-03-02 13:20:07 -08:00
Ryan Dahl
776b099d75
Disable ipv6 test on solaris
2010-03-02 21:10:05 +00:00
Ryan Dahl
d9e3b466a7
Merge branch 'master' into net2
2010-03-02 10:44:25 -08:00
Rasmus Andersson
20d5963fae
Added fs.realpath and fs.realpathSync (pure javascript versions)
2010-03-01 19:14:24 -08:00
Felix Geisendörfer
55ab9b4541
Bug fix for deep process.mixin array handling
...
process.mixin was throwing an exception when trying to do a deep copy
of an object that included an array.
This bug was introduced in: 3bb7ad6fea
2010-03-01 14:13:57 -08:00
Benjamin Thomas
6034701f57
Stop sys.inspect from adding extra new lines for deep objects that are elements in an array.
...
A couple other small fixes:
If the keys of an object were all numeric they should be quoted. This
way, you can now hypothetically copy and paste the output into your code
(if the object doesn't contain any circular objects, deeply nested
objects, Dates, RegExps or functions. I think).
If a nested object isn't being recursed into, output "[Object]" as
opposed to "[object Object]".
If an object is longer than the max width but it is one line no matter
what, then don't put the closing brace on a new line.
Fix some formatting issues to try and match Node's style guidelines.
2010-03-01 13:34:46 -08:00
Ryan Dahl
30b700ee22
Move watchFile into fs module
2010-03-01 10:42:37 -08:00
arlolra
724ccf10df
Tests on common port.
2010-02-26 12:20:10 -08:00
Ryan Dahl
71d237e6a0
Move net2 tests into test/simple
2010-02-26 12:13:33 -08:00
Ryan Dahl
c6cc386819
Merge branch 'master' into net2
2010-02-26 11:34:24 -08:00
arlolra
3497da370b
Decoupled readdir test.
2010-02-25 18:49:10 -08:00
Benjamin Thomas
de1521413e
Make the output of sys.inspect a lot more compact.
...
See:
http://groups.google.com/group/nodejs/browse_thread/thread/ac060521e27fef65
By default now, sys.inspect doesn't recurse more than two times. Pass
in null as the third parameter to make it recurse indefinitely.
2010-02-25 18:23:11 -08:00
Benjamin Thomas
a2714be8b5
Add optional third argument sys.inpect to indicate how many times you want it to recurse
2010-02-25 13:17:05 -08:00
Benjamin Thomas
b1b84960ce
Rename writeHeader to writeHead
2010-02-25 13:01:21 -08:00
Ryan Dahl
b08f2af344
Update common.js path for new test layout
2010-02-25 12:01:23 -08:00
arlolra
04fac19822
Split tests.
2010-02-25 11:41:11 -08:00
Rasmus Andersson
b57d946184
added fs.link, fs.symlink, fs.readlink
...
including sync versions and complete tests
2010-02-22 19:23:06 -08:00
Ryan Dahl
a97fdf5c39
Merge branch 'master' into net2
2010-02-22 14:22:20 -08:00
Ryan Dahl
05ae932a0e
Implement fs.readdirSync()
2010-02-21 23:06:08 -08:00
Benjamin Thomas
49cd1bbf84
Fix bug in process.mixin where deep copies would not work at all.
...
Before, doing this:
var sys = require("sys");
var obj = {
one: 1,
two: 2,
three: {
value: 3
}
};
sys.p(process.mixin(true, {}, obj));
Would output this:
{
"two": 2,
"three": {
"one": 1,
"two": 2,
"three": {
"value": 3
},
"value": 3
},
"one": 1
}
When it should have outputed this:
{
"one": 1,
"two": 2,
"three": {
"value": 3
}
}
2010-02-21 22:51:23 -08:00
Ryan Dahl
4c8889bba2
Revert "Add fs.readdirSync()"
...
Doesn't work on Linux.
This reverts commit 05d6da6c4a
.
2010-02-21 21:53:35 -08:00
isaacs
9acc8a686a
Expose fs.lstat
2010-02-21 21:43:45 -08:00
Ryan Dahl
12d78cd1df
Rename sendHeader to writeHeader; allow reasonPhrase
2010-02-21 16:53:49 -08:00
Micheil Smith
05d6da6c4a
Add fs.readdirSync()
2010-02-21 16:32:20 -08:00
Ryan Dahl
a0c48eecab
Rename readPause and readResume to pause/resume
2010-02-20 22:38:42 -08:00
Ryan Dahl
0485cc41d5
Remove promises
2010-02-20 19:49:00 -08:00
Ryan Dahl
7a51184420
Multipart test no longer depend on Promise
2010-02-20 19:44:47 -08:00
Ryan Dahl
fcda5e8dfa
If ab isn't installed skip keep-alive test
2010-02-19 18:54:25 -08:00
Rasmus Andersson
860fcf23f4
skipping TLS test if node was not compiled with TLS
2010-02-19 18:35:35 -08:00
Ryan Dahl
de7016eac5
sys.exec() no longer uses Promise
2010-02-19 16:55:46 -08:00
Ryan Dahl
d0f2d465aa
http.cat no longer uses Promise
2010-02-19 16:26:48 -08:00
Ryan Dahl
ef55324f1a
Do not use Promise in 'fs' module
2010-02-19 16:02:30 -08:00
Ryan Dahl
764783560e
Remove Promise.prototype.wait()
...
I don't want users to have to think about coroutine safety.
http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/2468/focus=2603
2010-02-19 10:19:46 -08:00
Ryan Dahl
860d008d54
Truly synchronous require()
...
This is to reduce our dependency on wait(). For some reason this patch
affects the timer test:
% ./node test/mjsunit/test-timers.js
diff: 989
diff: 989
diff: 1989
diff: 2989
Previously it showed:
% ./node test/mjsunit/test-timers.js
diff: 1000
diff: 1000
diff: 2000
diff: 3000
I'm not sure what caused this change, and it's rather disturbing. However I
want to remove wait() as soon as possible and so am pushing this patch
through.
The module loading code is becoming increasingly ugly - this patch has not
helped. A refactor needs to be done soon.
2010-02-19 10:06:49 -08:00
Rasmus Andersson
3bb7ad6fea
fixed process.mixin to properly copy getters/setters
2010-02-18 10:17:13 -08:00
Micheil Smith
bcc032e43a
Adding interface between node and libeio for Chmod.
2010-02-18 10:13:57 -08:00
Ryan Dahl
c2e58c9dee
Remove a few wait() calls in the tests
2010-02-17 21:28:31 -08:00
Ryan Dahl
07423f3a87
Merge branch 'master' into net2
2010-02-17 15:46:30 -08:00
Ryan Dahl
0314a10e10
Clean up and rename test-stat-handler
2010-02-17 14:30:50 -08:00
Ryan Dahl
92292c8394
Rename a few remaining fs.cat calls.
2010-02-17 14:00:53 -08:00
Ryan Dahl
5013bf1781
API: OutgoingMessage.prototype.finish() renamed to close()
2010-02-17 11:10:10 -08:00
Tim Caswell
6115df6338
File API tweaks
...
- Rename fs.cat to fs.readFile
- Move file.write to fs.writeFile
- Allow strings for the flag argument to fs.open
("r", "r+", "w", "w+", "a", "a+")
- Remove the unused 'File' module / class
2010-02-16 23:55:53 -08:00
Ryan Dahl
ae85d9af97
API: Make request/response object closer to stream interface
...
- sendBody() renamed to write()
- 'body' event renamed to 'data'
- 'complete' event renamed to 'end'
2010-02-16 22:16:29 -08:00
isaacs
46a47d2799
Add some puts() to test-multipart.js to show what it's doing.
2010-02-16 21:18:02 -08:00
Ryan Dahl
23cf502db7
API: connection.send() renamed to connection.write()
2010-02-16 13:18:42 -08:00
Jonas Pfenniger
80ace36e4c
Added failing test: promise.wait() after promise.emitXXX()
2010-02-15 17:22:13 -08:00
Yuichiro MASUI
1793ee1c80
Fixed: promise late chain
2010-02-15 17:12:40 -08:00
Mark Hansen
98e61db216
sys.inspect(Date) now shows the date value
2010-02-15 17:08:22 -08:00
Ryan Dahl
b82ef28d9d
Rename 'posix' module to 'fs'
2010-02-12 01:04:14 -08:00
Ryan Dahl
bc17d94a0a
API: tcp events 'receive' to 'data', 'eof' to 'end'
...
No deprecation messages. Not sure how...
2010-02-12 00:25:19 -08:00
Felix Geisendörfer
211e82e8d9
Simple test case for require.async()
...
This is to make sure this doesn't break after implementing the new
truly sync require() function.
2010-02-11 21:45:03 -08:00
Felix Geisendörfer
6c94b8e4e4
Implemented posix.catSync()
2010-02-11 21:11:16 -08:00
Ryan Dahl
1b42276851
Small clean up to test-timers.js
2010-02-11 15:51:46 -08:00
Felix Geisendörfer
b02b54e003
Fix: Module cache did not propagate
...
This patch makes sure nested modules are available in their parents
cache. The module simplification broke this behavior.
See:
http://groups.google.com/group/nodejs/browse_thread/thread/e875132469547d2
b73f61a137
2010-02-11 11:23:19 -08:00
Ryan Dahl
dc01587c6c
Merge branch 'master' into net2
2010-02-10 14:05:29 -08:00
Michael Stillwell
9f6f19df1b
Add test: modifying event listeners during callback.
2010-02-09 14:47:37 -08:00
Tim Caswell
e33c66654a
Rewrite sys.inspect to be more reliable and handle crazy edge cases.
2010-02-09 08:57:38 -08:00
isaacs
3adcdfc2e1
A rewrite of multipart library.
...
1. Support streaming in the simple case. Put huge warnings around the
buffering API.
2. Support nested multipart messages.
3. Support various kinds of multipart messages, including all the various
absurdities of multipart email messages.
4. Error out on various invalid types of data that might come through.
5. Gracefully several edge cases that occur when the chunk size is smaller
than the boundary length, or cuts into the \r\n, etc.
6. Provide both positive and negative tests.
2010-02-08 14:03:06 -08:00
Ryan Dahl
ae1fc497bb
Fix stdout flush issue
...
http://github.com/ry/node/issues#issue/53
2010-02-07 21:56:36 -08:00
Ryan Dahl
a695065305
Add failing test for stdout flush on exit
2010-02-07 18:05:58 -08:00
Ryan Dahl
96f42745ff
Merge branch 'master' into net2
2010-02-05 19:00:26 -08:00
Ryan Dahl
fe85062046
Bugfix: blocked pumping in stdio coupling
...
This should fix the test in c05b5d8
by Mikeal Rogers.
2010-02-05 17:14:14 -08:00
Mikeal Rogers
c05b5d8b59
Adding test for bug in stdio.
...
http://groups.google.com/group/nodejs/browse_thread/thread/10fda8eaf7276642/e5d5147f2b666abd
2010-02-05 10:58:00 -08:00
Felix Geisendörfer
b73f61a137
Simplified module system
...
createModule got removed as it was unnecessary and caused issues by
doing its own cache checks independent of loadModule. Internal modules
are now the only globally cached modules, all other modules are only
cached by inheriting their parent modules cache.
Credits: Module specific cache and a few other diffs by Blaine Cook
431662d25c
http://romeda.org/blog/2010/01/hot-code-loading-in-nodejs.html
http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/1994
2010-02-04 14:08:39 -08:00
Ryan Dahl
173a8c9842
Disable dns and fs-sendfile tests.
2010-02-03 10:05:24 -08:00
Ryan Dahl
0b07f32819
Merge branch 'master' into net2
2010-02-03 10:00:39 -08:00
Ryan Dahl
33509bdbe5
eof -> end
2010-02-01 18:19:14 -08:00
Felix Geisendörfer
ac2abe5b1e
Bugfix: Handle Content-Type headers with charset
...
Some HTTP clients include a charset parameter in the Content-Type, e.g:
multipart/form-data; charset=utf-8; boundary=0xKhTmLbOuNdArY
This patch makes the multipart parser more forgiving towards unexpected
information included in the Content-Type header.
2010-01-29 18:04:48 -08:00
Ryan Dahl
785531691b
Add buffer.unpack
2010-01-29 09:57:47 -08:00
Ryan Dahl
49451c1dab
Merge branch 'master' into net2
2010-01-29 00:58:43 -08:00
Ryan Dahl
4347906b7f
Fix require() in test-buffer.js
2010-01-27 18:45:07 -08:00
Ryan Dahl
bf803f478b
Reimplment Buffers
2010-01-27 15:40:09 -08:00
Ryan Dahl
30b0522157
Bugfix: HTTP client automatically reconnecting
...
Test case by tlynn.
2010-01-27 09:34:45 -08:00
Blaine Cook
cd6397cc45
Add support for MX, TXT, and SRV records in DNS module.
2010-01-25 09:03:27 -08:00
Felix Geisendörfer
c86c614cac
Bug Fix: Late promise promise callbacks firing
...
Late promise bindings would fire regardless of the outcome of the
promise.
Test case by: Jonas "zimbatm" Pfenniger <jonas@pfenniger.name>
2010-01-24 14:20:17 -08:00
Ryan Dahl
dda1d681f7
Provide buffer in HTTPParser callbacks.
2010-01-24 14:12:15 -08:00
Ryan Dahl
42ee16978e
Implement new http-parser binding using Buffer
2010-01-24 11:21:45 -08:00
David Sklar
6f738d6e7a
Adjust passing-FDs test to wait until socket is really writeable
2010-01-22 14:37:30 -08:00
Felix Geisendörfer
a76c7a89ce
Implemented __dirname
...
It seems that the current __filename module global is mainly used to
determine the directory the current module is in. To make that
easier, this patch adds support for a __dirname module global
directly.
2010-01-22 10:10:15 -08:00
Ryan Dahl
653bf580bf
Merge branch 'develop' into net2
...
Conflicts:
src/node.cc
2010-01-20 15:24:38 -08:00
Ryan Dahl
faefb3f5a4
test-http-eof-on-connect missing require('./common')
2010-01-20 10:06:44 -08:00
Felix Geisendörfer
bfd3144861
Make unhandled Promise errors throw an exception
...
A promise will throw an exception unless an error handler is attached in the
same "tick" that the error is emitted. This is to avoid silent promise
failures.
2010-01-19 14:29:57 -08:00
Felix Geisendörfer
f64371fccb
Support late callback binding for Promises
...
Listeners attached with addCallback / addErrback will now be executed
right away if the promise has already fired.
2010-01-19 14:29:49 -08:00
Felix Geisendörfer
f2274840a9
Removed Promise.cancel()
...
The current implementation was bad and nobody is using it. Has a chance
of getting re-implemented by somebody who has an actual need for it.
2010-01-19 14:29:38 -08:00
Micheil Smith
6e3d12f617
Allow optional params to setTimeout, setInterval
2010-01-18 10:41:03 -08:00
Ryan Dahl
8abeffa9ea
Add process.nextTick()
...
This is a replacement for the common hack:
setTimeout(cb, 0);
It's much more efficient.
2010-01-18 10:32:36 -08:00
Ryan Dahl
aeb7d6d168
Add process.IdleWatcher
...
With priorities. Will be used for process.nextLoop().
2010-01-18 10:12:04 -08:00
Ryan Dahl
70293a43c9
API: Move Promise and EventEmitter into 'events' module
2010-01-15 12:46:08 -08:00
Ryan Dahl
02e52ef8e9
Merge branch 'master' into net2
2010-01-12 16:59:14 -08:00
Ben Williamson
a3631a383b
Added regression test for issue #44
2010-01-11 16:43:23 -08:00
David Sklar
a876df6c71
Initial take on passing FDs between processes
2010-01-09 01:28:19 -08:00
isaacs
988174a629
Add tests for path module.
2010-01-09 00:31:51 -08:00
Ryan Dahl
53413598b6
Fix another problem with the EIO interface
...
Should call eio_poll() when given a done_poll signal as well.
Bug report and test case by Kris Zyp <kriszyp@gmail.com>
2010-01-08 22:20:23 -08:00
Benjamin Thomas
947c577c0d
Fix bug in the url module's url_parse method if 'parseQueryString' is true
2010-01-06 02:12:11 -08:00
Ryan Dahl
f80cc69c23
libeio bugfix part 3
...
Finally (hopefully) fix the issue that Felix reported. It's only appearing
on macintosh (test/mjsunit/test-eio-race3.js)
The trick/hack is to call eio_poll() again before reentering the event loop.
Additionally this commit implements a more complex method of calling
eio_poll(), occasionally dropping to an ev_idle watcher.
See also:
3f39772834
http://lists.schmorp.de/pipermail/libev/2010q1/000855.html
http://groups.google.com/group/nodejs/browse_thread/thread/9f8db11c792a68bb/a89705f68971f53c
2010-01-06 01:27:31 -08:00
Felix Geisendörfer
7d947f8723
Clean up multipart test case
2010-01-05 20:15:03 -08:00
Felix Geisendörfer
f86c1783b7
Handle bad requests in simplified parser API
2010-01-05 22:37:51 +01:00
Felix Geisendörfer
aa73ed973c
Added test case for the simple multipart API
...
So far this didn't have any test coverage.
2010-01-05 22:28:03 +01:00
Felix Geisendörfer
d9a81374b2
Throw exception for invalid multipart streams
...
When using the multipart parser with an regular http request, the
parser did not complain and just never finished.
2010-01-05 22:23:56 +01:00
Ryan Dahl
04dd2d51be
libeio bugfix: want_poll should be called if breaking on maxreq
...
Reported by shansen and hassox
http://github.com/ry/node/issues#issue/38
Will send upstream.
2010-01-04 23:26:58 -08:00
isaacs
2b3d9e4ad0
Use "url" module instead of "uri" module in http.js.
...
Deprecate the URI module and remove tests for it.
- Rename "uri" to "url".
- Use the "url" module instead of the "uri" module.
- Remove the url parsing from http.js
- Update http.cat with the changed field names.
- Update tests for changes to http.js
- Update documentation for changes in http.js
2010-01-04 21:22:46 -08:00
isaacs
7ff04c1f86
Add URL and QueryString modules, and tests for each.
...
Also, make a slight change from original on url-module to put the
spacePattern into the function. On closer inspection, it turns out that the
nonlocal-var cost is higher than the compiling-a-regexp cost.
Also, documentation.
2010-01-04 21:03:54 -08:00
Tim Caswell
fd184ee2fa
Rename "Dynamic Property" to "Getter/Setter" in sys.inspect.
2010-01-03 21:15:21 -08:00
Tim Caswell
6c68a9679b
Fix inspect to not trigger dynamic properties
...
but to display them as special. Add unit tests to match
2010-01-02 18:18:01 -08:00
Tim Caswell
732c6f2036
Fix inspect for the special case of an Object that inherits from Array, but has other properties.
2009-12-31 09:57:29 -08:00
Ryan Dahl
20eec646b3
[net2] add unix server to ping-pong test
2009-12-30 11:51:43 -08:00
Ryan Dahl
a8ede8dd9e
[net2] port ping pong test
2009-12-30 10:58:46 -08:00
Ryan Dahl
e2569c402f
Add some tests to test-buffer.js
2009-12-29 21:12:28 +01:00
Ryan Dahl
630bb7a012
Rename blob to buffer.
2009-12-29 21:12:28 +01:00
Ryan Dahl
dd35637603
Fix assert.js code style
2009-12-29 20:10:59 +01:00
Ryan Dahl
0d7e88a429
Bugfix: libeio race condition
...
Process at most 10 pending responses from the thread pool in one go.
10 was chosen arbitrarily.
Test and report by Felix Geisendörfer <felix@debuggable.com>
2009-12-29 19:11:04 +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
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
Ryan Dahl
0981e7f663
Fix test-readdir.js
...
Was broken because I added "throws_error.js" to the fixtures directory.
Problem appeared in bfa36136da
.
2009-12-19 00:45:01 +01:00
Ryan Dahl
bfa36136da
require() should throw error if module does.
...
Reported by Kris Zyp
http://groups.google.com/group/nodejs/browse_thread/thread/1feab0309bd5402b
2009-12-18 23:58:04 +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
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
Ryan Dahl
89a3fa93a0
add missing semicolon
2009-12-09 15:59:53 +01:00
Xavier Shay
756544fd28
sys.inspect prints out special chars correctly (\n, \u0001, etc...)
2009-12-07 10:05:18 +01:00
Felix Geisendörfer
876b6d2183
Make process.mixin copy over undefined values
...
This is not a bug in process.mixin, but I think it is undesirable
behavior. Right now process.mixin will not copy over keys with undefined
values. To me that is an unexpected filtering that should not happen
unless specifically called for.
2009-12-06 19:21:20 +01:00
Felix Geisendörfer
f080de5380
Two bug fixes for process.mixin
...
Bug #1 occurred when trying to use process.mixin on a function and
produced a fatal exception.
Bug #2 occurred when trying to do a deep merge with an object containing
one or more objects with a nodeType property. In those cases the deep
copy for this part of the object was not performed and a shallow one was
performed instead.
Both of these bugs were artifacts of the jQuery.extend port.
2009-12-06 19:21:06 +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
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
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
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
Friedemann Altrock
0433d828cf
add process.umask()
2009-11-22 19:52:52 +01:00
Friedemann Altrock
2d54d664ff
Promises should not be able to be canceled more than once.
2009-11-22 19:18:24 +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
0b441462ab
Speed up test-wait-ordering.js
2009-11-18 15:55:02 +01:00
Ryan Dahl
6cb0e0e5f5
Test runner should only run test-*.js
2009-11-17 15:05:10 +01:00
Ryan Dahl
6e6562e551
Fix stat handler test for macintosh
2009-11-17 15:05:01 +01:00
Ryan Dahl
8d2f9e83a4
Add process.watchFile() process.unwatchFile()
...
This is an interface to libev's ev_stat watcher.
2009-11-17 14:07:48 +01:00
Felix Geisendörfer
2b252acea4
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
2009-11-14 23:46:37 +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
Felix Geisendörfer
7371fcb312
Temporary function to determine str byte length
...
Will need a better place later on
2009-11-11 18:42:46 +01:00
Felix Geisendörfer
a021db151a
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.
2009-11-07 20:07:55 +01:00
Ryan Dahl
6c9ec1ac40
Use '127.0.0.1' instead of 'localhost' for keep-alive test
...
ab seems to have to problem resolving 'localhost' on Urban's computer.
2009-11-07 17:31:42 +01:00
Ryan Dahl
9cfa4fd7d6
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/
2009-11-07 15:08:46 +01:00
Ryan Dahl
b833aa48e9
Add test to ensure the server can handle keep-alive
2009-11-06 13:42:56 +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
Brandon Beacher
47fcf785ac
Added process.chdir()
2009-11-03 19:22:37 +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
Felix Geisendörfer
43d651daef
The return of relative module loading
2009-11-02 21:26:55 +01:00
Felix Geisendörfer
7069bee982
The return of absolute Module loading
2009-11-02 21:20:44 +01:00
Felix Geisendörfer
8fd472b9a1
The return of remote module loading
2009-11-01 15:39:49 +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
57890465bd
A few more node->process changes
2009-10-30 05:49: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
Felix Geisendörfer
659954d842
The return of Promise.cancel() with some additional tests & docs
2009-10-29 11:24:08 +01:00
Ryan Dahl
c536728335
Move node.dns.* into /dns.js
2009-10-28 23:02:52 +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
Ryan Dahl
efe34f5023
Only allow a promise to fire once, remove promise.cancel()
...
promise.cancel() is due to return at some point.
2009-10-28 15:37:03 +01:00
Ryan Dahl
04e53cab90
Rename node.libraryPaths to require.paths
...
to be more inline with CommonJS.
2009-10-25 22:51:57 +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
Ryan Dahl
3456a16f71
Accept string representations of signals in node.kill and child.kill
2009-10-15 15:45:04 +02:00
Brandon Beacher
334d56d2be
Added external interface for signal handlers.
...
Also process.pid and node.kill().
2009-10-15 14:40:52 +02:00
Connor Dunn
2dbd0d3806
Add node.fs.sendfile()
2009-10-14 18:51:23 +02:00
Felix Geisendörfer
0dbf2d7792
Implemented Promise.timeout() and Promise.cancel()
2009-10-12 16:17:42 +02:00
Ryan Dahl
f623fd7658
Normalize HTTP headers.
...
"Content-Length" becomes "content-length".
2009-10-07 16:56:19 +02:00
Ryan Dahl
b76d853f0d
Fix test-signal-handler.js on macintosh - pause before exit.
2009-10-07 15:39:39 +02:00
Felix Geisendörfer
abbc624f52
Multipart test now uses a fixture instead of CURL
2009-10-07 02:03:24 +02:00
Brandon Beacher
f068251494
Added signal handler.
...
To be used internally. Needs an exposed interface.
2009-10-07 01:23:29 +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
8185e1fd25
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
2009-10-05 15:46:31 +02:00
Ryan Dahl
522909bcbf
Parse queryString into req.uri.params
2009-10-05 14:52:26 +02:00
Ryan Dahl
a8c0211e73
Bugfix: require() and include() should work in callbacks.
...
Removing requireAsync and includeAsync from global scope for now as a
temporary fix. Reported by Yuffster.
2009-09-29 19:28:54 +02:00