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
15 years ago
Ryan Dahl
173a8c9842
Disable dns and fs-sendfile tests.
15 years ago
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.
15 years ago
Ryan Dahl
30b0522157
Bugfix: HTTP client automatically reconnecting
Test case by tlynn.
15 years ago
Blaine Cook
cd6397cc45
Add support for MX, TXT, and SRV records in DNS module.
15 years ago
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>
15 years ago
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.
15 years ago
Ryan Dahl
faefb3f5a4
test-http-eof-on-connect missing require('./common')
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
Micheil Smith
6e3d12f617
Allow optional params to setTimeout, setInterval
15 years ago
Ryan Dahl
8abeffa9ea
Add process.nextTick()
This is a replacement for the common hack:
setTimeout(cb, 0);
It's much more efficient.
15 years ago
Ryan Dahl
aeb7d6d168
Add process.IdleWatcher
With priorities. Will be used for process.nextLoop().
15 years ago
Ryan Dahl
70293a43c9
API: Move Promise and EventEmitter into 'events' module
15 years ago
Ben Williamson
a3631a383b
Added regression test for issue #44
15 years ago
isaacs
988174a629
Add tests for path module.
15 years ago
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>
15 years ago
Benjamin Thomas
947c577c0d
Fix bug in the url module's url_parse method if 'parseQueryString' is true
15 years ago
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
15 years ago
Felix Geisendörfer
7d947f8723
Clean up multipart test case
15 years ago
Felix Geisendörfer
f86c1783b7
Handle bad requests in simplified parser API
15 years ago
Felix Geisendörfer
aa73ed973c
Added test case for the simple multipart API
So far this didn't have any test coverage.
15 years ago
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.
15 years ago
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.
15 years ago
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
15 years ago
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.
15 years ago
Tim Caswell
fd184ee2fa
Rename "Dynamic Property" to "Getter/Setter" in sys.inspect.
15 years ago
Tim Caswell
6c68a9679b
Fix inspect to not trigger dynamic properties
but to display them as special. Add unit tests to match
15 years ago
Tim Caswell
732c6f2036
Fix inspect for the special case of an Object that inherits from Array, but has other properties.
15 years ago
Ryan Dahl
dd35637603
Fix assert.js code style
15 years ago
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>
15 years ago
Michaeljohn Clement
3d24e119e0
don't chunk responses to HTTP/1.0 clients, even if they send Connection: Keep-Alive (e.g. wget)
15 years ago
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
15 years ago
Ryan Dahl
0981e7f663
Fix test-readdir.js
Was broken because I added "throws_error.js" to the fixtures directory.
Problem appeared in bfa36136da
.
15 years ago
Ryan Dahl
bfa36136da
require() should throw error if module does.
Reported by Kris Zyp
http://groups.google.com/group/nodejs/browse_thread/thread/1feab0309bd5402b
15 years ago
isaacs
4526308560
Update to fix failing test. Rewrite of the resolveObject function, and some tweaks to format.
15 years ago
isaacs
2f9722cca0
Pull in the uri.js from Narwhal and create tests, stripping out the cruft from a previous code-surgery.
15 years ago
Ryan Dahl
89a3fa93a0
add missing semicolon
15 years ago
Xavier Shay
756544fd28
sys.inspect prints out special chars correctly (\n, \u0001, etc...)
15 years ago
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.
15 years ago
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.
15 years ago
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().
15 years ago
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
15 years ago
Ryan Dahl
8141448fe5
Don't use promises internally in DNS module
15 years ago
Ryan Dahl
c5d82380f4
Bugfix: Don't use chunked encoding for 1.0 requests.
http://groups.google.com/group/nodejs/browse_thread/thread/b2edb76691b1848c
15 years ago
Karl Guertin
4f679fd8d0
Dependency free assert module with unit tests
15 years ago
Felix Geisendörfer
530328f12b
CommonJS testing for node.js
Refactored test suite to use the assert module for testing rather than
mjsunit.
15 years ago
Michaeljohn Clement
485823f3e4
fixed HTTP duplicated header bug
added test case for HTTP duplicated header bug on keepalive
15 years ago
Rhys Jones
5b1a535cd8
Add HTTP client TLS support
15 years ago