Calvin Metcalf
e7c077c610
stream: make null an invalid chunk to write in object mode
...
this harmonizes behavior between readable, writable, and transform
streams so that they all handle nulls in object mode the same way by
considering them invalid chunks.
PR-URL: https://github.com/nodejs/node/pull/6170
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2016-04-20 13:28:35 -07:00
Fedor Indutny
ec2822adaa
http: unref socket timer on parser execute
...
When underlying `net.Socket` instance is consumed in http server - no
`data` events are emitted, and thus `socket.setTimeout` fires the
callback even if the data is constantly flowing into the socket.
Fix this by calling `socket._unrefTimer()` on every `onParserExecute`
call.
Fix : #5899
PR-URL: https://github.com/nodejs/node/pull/6286
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-20 13:57:54 -04:00
Michaël Zasso
75487f0db8
module: fix resolution of filename with trailing slash
...
A recent optimization of module loading performance [1] forgot to check that
extensions were set in a certain code path.
[1] ae18bbef48
Fixes: https://github.com/nodejs/node/issues/6214
PR-URL: https://github.com/nodejs/node/pull/6215
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2016-04-20 09:45:57 -07:00
Fedor Indutny
8636af1012
net: replace __defineGetter__ with defineProperty
...
`Object.prototype.__defineGetter__` is deprecated now, use
`Object.defineProperty` instead.
PR-URL: https://github.com/nodejs/node/pull/6284
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2016-04-20 12:42:33 -04:00
Fedor Indutny
6198472d83
stream_base: expose bytesRead getter
...
This will provide `bytesRead` data on consumed sockets.
Fix : #3021
PR-URL: https://github.com/nodejs/node/pull/6284
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2016-04-20 12:42:33 -04:00
cjihrig
54dd7c38e5
net: set ADDRCONFIG DNS hint in connections
...
b85a50b6da removed the implicit
setting of DNS hints when creating a connection. This caused some
of the pi2 machines to become flaky. This commit restores the
implicit dns.ADDRCONFIG hint, but not dns.V4MAPPED.
Fixes: https://github.com/nodejs/node/issues/6133
PR-URL: https://github.com/nodejs/node/pull/6281
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com >
2016-04-20 12:04:39 -04:00
Rich Trott
4bbd41864a
tools: enable linting for v8_prof_processor.js
...
`lib/internal/v8_prof_processor.js` was being excluded from linting, but
the only lint issue it has is that it cannot run in strict mode. Disable
the `strict` rule with a comment and remove the file from
`.eslintignore`.
PR-URL: https://github.com/nodejs/node/pull/6262
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Roman Klauke <romaaan.git@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-20 08:33:59 -07:00
Brian White
e9dc6306ca
url: use "empty" object for empty query strings
...
This makes things consistent with the way that the querystring
module creates parsed results.
PR-URL: https://github.com/nodejs/node/pull/6289
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michaël Zasso <mic.besace@gmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-04-20 08:26:06 -07:00
Fedor Indutny
9d4d529517
http: skip body and next message of CONNECT res
...
When handling a response to `CONNECT` request - skip message body
and do not attempt to parse the next message. `CONNECT` requests are
used in similar sense to HTTP Upgrade.
Fix: https://github.com/nodejs/node/pull/6198
PR-URL: https://github.com/nodejs/node/pull/6279
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-19 11:48:06 -04:00
James Lal
c7fef3d3b8
zlib: fix use after null when calling .close
...
An internal zlib error may cause _handle to be set to null.
Close now will check if there is a _handle prior to calling .close on
it.
PR-URL: https://github.com/nodejs/node/pull/5982
Fixes: https://github.com/nodejs/node/issues/6034
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-04-19 08:46:54 +02:00
Brian White
e38bade828
events: don't inherit from Object.prototype
...
This commit safely allows event names that are named the same as
properties that are ordinarily inherited from Object.prototype such
as __proto__.
Fixes: https://github.com/nodejs/node/issues/728
PR-URL: https://github.com/nodejs/node/pull/6092
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-18 21:45:26 -04:00
Brian White
dba245f796
querystring: don't inherit from Object.prototype
...
This commit safely allows querystring keys that are named the same as
properties that are ordinarily inherited from Object.prototype such
as __proto__. Additionally, this commit provides a bit of a speed
improvement (~25% in the querystring-parse 'manypairs' benchmark)
when there are many unique keys.
Fixes: https://github.com/nodejs/node/issues/5642
PR-URL: https://github.com/nodejs/node/pull/6055
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-18 21:40:03 -04:00
Rich Trott
31600735f4
lib,test,tools: alignment on variable assignments
...
Correct alignment on variable assignments that span multiple lines in
preparation for lint rule to enforce such alignment.
PR-URL: https://github.com/nodejs/node/pull/6242
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Johan Bergström <bugs@bergstroem.nu >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-18 17:19:11 -07:00
Ilya Shaisultanov
c1d82ac2ff
assert: respect assert.doesNotThrow message.
...
Special handling to detect when user has supplied a custom message.
Added a test for user message.
When testing if `actual` value is an error use
`util.isError` instead of `instanceof`.
Fixes: https://github.com/nodejs/node/issues/2385
PR-URL: https://github.com/nodejs/node/pull/2407
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-18 16:49:26 -07:00
Anna Henningsen
ebc8c37f70
repl: keep the built-in modules non-enumerable
...
Make sure that the built-in modules in the repl stay non-enumerable.
Previously, they would pop up as enumerable properties of the global
object after having been accessed for the first time.
PR-URL: https://github.com/nodejs/node/pull/6207
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-04-18 15:31:51 -07:00
Anna Henningsen
39d905e293
node: make builtin libs available for --eval
...
Make the builtin libraries available for the `--eval` and
`--print` CLI options, using the same mechanism that the
REPL uses.
This renders workarounds like `node -e 'require("fs").doStuff()'`
unnecessary.
As part of this, the list of builtin modules and the code for
adding the corresponding properties to the target context is moved
to `internal/module.js`, and the previously missing `repl` entry
is added.
PR-URL: https://github.com/nodejs/node/pull/6207
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-04-18 15:31:32 -07:00
Rich Trott
b7f4b1ba4c
process: fix incorrect usage of assert.fail()
...
The message argument for `assert.fail()` is the third argument, not the
first. Correct minor misuse in internal module.
PR-URL: https://github.com/nodejs/node/pull/6211
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-04-18 09:55:41 -07:00
Ben Noordhuis
642076f2af
src: don't set non-primitive values on templates
...
V8 is going to disallow non-primitive values on v8::FunctionTemplate
and v8::ObjectTemplate because those can't be shared across contexts.
Fixes: https://github.com/nodejs/node/issues/6216
PR-URL: https://github.com/nodejs/node/pull/6228
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
2016-04-18 11:39:52 +02:00
Anna Henningsen
978166796e
zlib: Make the finish flush flag configurable
...
Up to now, `Z_FINISH` was always the flushing flag that was used
for the last chunk of input data. This patch makes this choice
configurable so that advanced users can perform e.g. decompression of
partial data using `Z_SYNC_FLUSH`, if that suits their needs.
Add tests to make sure that an error is thrown upon encountering
invalid `flush` or `finishFlush` flags.
Fixes: https://github.com/nodejs/node/issues/5761
PR-URL: https://github.com/nodejs/node/pull/6069
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-17 17:01:55 +02:00
James M Snell
627524973a
buffer: add Buffer.allocUnsafeSlow(size)
...
Aligns the functionality of SlowBuffer with the new Buffer
constructor API. Next step is to docs-only deprecate
SlowBuffer.
Replace the internal uses of SlowBuffer with
`Buffer.allocUnsafeSlow(size)`
PR-URL: https://github.com/nodejs/node/pull/5833
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
2016-04-15 10:36:01 -07:00
Yuval Brik
b488b19eaf
fs: optimize realpath using uv_fs_realpath()
...
Remove realpath() and realpathSync() cache.
Use the native uv_fs_realpath() which is faster
then the JS implementation by a few orders of magnitude.
PR-URL: https://github.com/nodejs/node/pull/3594
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Johan Bergström <bugs@bergstroem.nu >
2016-04-15 03:46:55 -04:00
Brian White
ae18bbef48
lib: improve module loading performance
...
This commit improves module loading performance by at least ~25-35%
in the module-loader benchmarks.
Some optimization strategies include:
* Try-finally/try-catch isolation
* Replacing regular expressions with manual parsing
* Avoiding unnecessary string and array creation
* Avoiding constant recompilation of anonymous functions and
function definitions within functions
PR-URL: https://github.com/nodejs/node/pull/5172
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-14 14:58:46 -04:00
Rich Trott
1df84f4f75
debugger: run last command on presssing enter
...
PR-URL: https://github.com/nodejs/node/pull/6090
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Fixes: https://github.com/nodejs/node/issues/2895
2016-04-14 10:53:07 -07:00
Anna Henningsen
0b66b8f2d2
repl: don’t complete non-simple expressions
...
Change the regular expression that recognizes “simple” JS expressions
to requiring that the full line needs to match it.
Previously, in terms like `a().b.`, `b.` would be a partial match.
This meant that completion would evaluate `b` and either fail with
a `ReferenceError` or, if `b` was some global, return the properties
of the global `b` object.
PR-URL: https://github.com/nodejs/node/pull/6192
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2016-04-14 08:23:23 -04:00
Matteo Collina
0b1d89f35a
streams: support unlimited synchronous cork/uncork cycles
...
net streams can request multiple chunks to be written in a synchronous
fashion. If this is combined with cork/uncork, en error is currently
thrown because of a regression introduced in:
89aeab901a
(https://github.com/nodejs/node/pull/4354 ).
Fixes: https://github.com/nodejs/node/issues/6154
PR-URL: https://github.com/nodejs/node/pull/6164
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Mathias Buus <mathiasbuus@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-14 08:30:32 +02:00
cjihrig
d6e56fd843
os: add userInfo() method
...
os.userInfo() calls libuv's uv_os_get_passwd() function. It returns
an object containing the current effective user's username, uid,
gid, shell, and home directory. On Windows, the uid and gid are
-1, and the shell is null.
Refs: https://github.com/nodejs/node/issues/5582
PR-URL: https://github.com/nodejs/node/pull/6104
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-12 17:21:29 -04:00
Anna Henningsen
819b2d36bc
stream: Fix readableState.awaitDrain mechanism
...
In 68990948fe (https://github.com/nodejs/node/pull/2325 ),
the conditions for increasing `readableState.awaitDrain` when
writing to a piping destination returns false were changed so
that they could not actually be met, effectively leaving
`readableState.awaitDrain` with a constant value of 0.
This patch changes the conditions to testing whether the
stream for which `.write()` returned false is still a piping
destination, which was likely the intention of the original
patch.
Fixes: https://github.com/nodejs/node/issues/5820
Fixes: https://github.com/nodejs/node/issues/5257
PR-URL: https://github.com/nodejs/node/pull/6023
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-11 22:50:45 -07:00
Igor Kalashnikov
5dafb435d8
querystring: using toString for objects on querystring.escape
...
This commit fixes an inconsistency in querystring.escape objects handling
compared to native encodeURIComponent function.
Fixes: https://github.com/nodejs/node/issues/5309
PR-URL: https://github.com/nodejs/node/pull/5341
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2016-04-11 22:37:37 -07:00
James M Snell
a2466896dd
buffer: add Buffer.prototype.compare by offset
...
Adds additional `targetStart`, `targetEnd`, `sourceStart,
and `sourceEnd` arguments to `Buffer.prototype.compare`
to allow comparison of sub-ranges of two Buffers without
requiring Buffer.prototype.slice()
Fixes: https://github.com/nodejs/node/issues/521
PR-URL: https://github.com/nodejs/node/pull/5880
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
2016-04-08 20:16:46 -07:00
Rich Trott
c5afd98b48
repl: refactor repl.js
...
There is some unnecessary logic in repl.js. Remove it.
PR-URL: https://github.com/nodejs/node/pull/6071
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-08 13:58:48 -07:00
cjihrig
0a62f929da
readline: emit key info unconditionally
...
Currently, 'keypress' events include the sequence and key info
for named keys, but only the sequence for unnamed keys. This
commit causes the key info to be included in both cases.
PR-URL: https://github.com/nodejs/node/pull/6024
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com >
2016-04-05 10:48:59 -04:00
cjihrig
b85a50b6da
net: remove implicit setting of DNS hints
...
This commit removes the implicit setting of the V4MAPPED and
ADDRCONFIG DNS flags in createConnection(). As of
39de601e1c , users that need these
flags can set them explicitly.
PR-URL: https://github.com/nodejs/node/pull/6021
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2016-04-05 10:36:37 -04:00
Brian White
3072546feb
path: fix win32.isAbsolute() inconsistency
...
This commit fixes an inconsistency in absolute path checking compared
to the absolute path detection used by the other path.win32 functions.
Fixes: https://github.com/nodejs/node/issues/6027
PR-URL: https://github.com/nodejs/node/pull/6028
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-04 14:45:22 -07:00
Vladimir Kurchatkin
0dcb026db3
buffer: don't set kNoZeroFill flag in allocUnsafe
...
If `kNoZeroFill` is set here, it won't be reset in case of
pooled allocation. In case of "slow" allocation it will be
set later anyway.
Fixes: https://github.com/nodejs/node/issues/6006
PR-URL: https://github.com/nodejs/node/pull/6007
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
2016-04-01 17:27:25 -07:00
Colin Ihrig
39de601e1c
net: support DNS hints in createConnection()
...
This commit adds support for passing DNS lookup hints to
createConnection().
PR-URL: https://github.com/nodejs/node/pull/6000
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-01 17:03:42 -04:00
Phillip Johnsen
ec49fc8229
net: improve socket.write() error message
...
Informative error messages are very important for developers and could
possibly save hours of debugging and frustration. This improves the error
message thrown when writing invalid data into a socket, by communicating
what's expected compared to what the developer just tried to write.
PR-URL: https://github.com/nodejs/node/pull/5981
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-04-01 09:46:01 -07:00
Mihai Potra
dabe1d5734
http: Corrects IPv6 address in Host header
...
IPv6 addresses in Host header (URI), must be enclosed within
square brackets, in order to properly separate the host address
from any port reference.
PR-URL: https://github.com/nodejs/node/pull/5314
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
2016-04-01 08:57:16 -07:00
Anna Henningsen
cf949293ba
assert: Check typed array view type in deepEqual
...
Do not convert typed arrays to `Buffer` for deepEqual since
their values may not be accurately represented by 8-bit ints.
Instead perform binary comparison of underlying `ArrayBuffer`s,
but only when the array types match.
Never apply any kind of optimization for floating-point typed
arrays since bit pattern equality is not the right kind of check
for them.
PR-URL: https://github.com/nodejs/node/pull/5910
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Fixes: https://github.com/nodejs/node/issues/5907
2016-03-31 21:48:02 +03:00
Jeremiah Senkpiel
21d66d621c
lib: remove bootstrap global context indirection
...
PR-URL: https://github.com/nodejs/node/pull/5881
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-03-30 19:59:10 -04:00
Phillip Johnsen
d38503ab01
module: prioritize current dir for local lookups
...
This fixes a bug where a 3rd party module found in node_modules,
would be preferred over a ./local module with the same name.
Fixes: https://github.com/nodejs/node/issues/5684
PR-URL: https://github.com/nodejs/node/pull/5689
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
2016-03-29 21:39:26 +02:00
Evan Lucas
b6475b9a9d
Revert "tty: don't read from console stream upon creation"
...
This reverts commit 4611389294 .
The offending commit broke certain usages of piping from stdin.
Fixes: https://github.com/nodejs/node/issues/5927
PR-URL: https://github.com/nodejs/node/pull/5947
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-03-29 10:21:46 -05:00
Evan Lucas
89abe86808
Revert "stream: emit 'pause' on nextTick"
...
This reverts commit ace1009456 .
The offending commit broke certain usages of piping from stdin.
Fixes: https://github.com/nodejs/node/issues/5927
PR-URL: https://github.com/nodejs/node/pull/5947
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2016-03-29 10:21:46 -05:00
Kyle Simpson
9fa25c8ca0
timers: fixing API refs to use safe internal refs
...
Added safe internal references for 'clearTimeout(..)', 'active(..)', and
'unenroll(..)'. Changed various API refs from 'export.*' to use these
safe internal references.
Now, overwriting the global API identifiers does not create potential
breakage and/or race conditions. See Issue #2493 .
PR-URL: https://github.com/nodejs/node/pull/5882
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Fixes: https://github.com/nodejs/node/issues/2493
2016-03-28 16:18:14 -07:00
cjihrig
4bc1cccb22
dgram: pass null as error on successful send()
...
Prior to c9fd9e2162 , UDP sockets
would callback with a null error on successful send() calls. The
current behavior is to pass 0 as the error. This commit restores
the previous, more expected behavior.
PR-URL: https://github.com/nodejs/node/pull/5929
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2016-03-28 09:47:13 -04:00
Jackson Tian
089c6a4fba
http: speed up checkIsHttpToken
...
The Regex implementation is not faster than ascii code compare.
the field name is shorter, the speed is faster.
benchmark result here:
https://bitbucket.org/snippets/JacksonTian/Rnbad/benchmark-result
PR-URL: https://github.com/nodejs/node/pull/4790
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2016-03-27 13:58:26 -07:00
Jackson Tian
293fd04535
buffer: make byteLength work with ArrayBuffer & DataView
...
Convert anything to string, but Buffer, TypedArray and ArrayBuffer
```
var uint8 = new Uint8Array([0xf0, 0x9f, 0x90]);
Buffer.byteLength(uint8); // should be 3, but returns 11
Buffer.byteLength(uint8.buffer); // should be 3, but return 20
```
PR-URL: https://github.com/nodejs/node/pull/5255
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-03-27 09:19:39 -07:00
Jackson Tian
afd821a91d
buffer: faster case for create buffer from empty string
...
When create Buffer from empty string will touch
C++ binding also.
This patch can improve edge case ~70% faster.
PR-URL: https://github.com/nodejs/node/pull/4414
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-03-27 09:14:48 -07:00
Benjamin Gruenbaum
a15906c74b
net: refactor self=this to arrow functions
...
Refactor unused self=this code to code without without this pattern
making it more consistent with the rest of our code.
PR-URL: https://github.com/nodejs/node/pull/5857
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Roman Klauke <romankl@users.noreply.github.com >
2016-03-27 12:54:56 +03:00
Benjamin Gruenbaum
a6b9b554eb
child_process: refactor self=this in socket_list
...
The socket list module (used by child_process) currently uses the
`var self = this;` pattern for context in several places, this PR
replaces this with arrow functions or passing a parameter in where
appropriate.
Note that the `var self = this` in the _request is intentioanlly
left in place since it is not trivial to refactor it and the current
pattern isn't bad given the use case.
PR-URL: https://github.com/nodejs/node/pull/5860
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2016-03-27 12:51:33 +03:00
Sakthipriyan Vairamani
41feaa89e0
crypto: improve error messages
...
Introduce a new MACRO to check if the data is a String object and
update existing MACROs to include the actual object description to
be printed in case of an error.
PR-URL: https://github.com/nodejs/node/pull/3100
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2016-03-26 23:46:32 +05:30