http: add debug message for invalid header value#9195
http: add debug message for invalid header value#9195evanlucas wants to merge 1 commit intonodejs:masterfrom
Conversation
|
Maybe this doesn't/won't matter to most people, but do we know if V8 will also skip the string creation if it notices that I think this may be even more of an issue than before because anyone that would hit this code path would presumably have a try-catch to catch the thrown exception and try-catch no longer causes a deopt of the containing function. If try-catch still resulted in a deopt, one could argue the call to |
|
Maybe it would be better to use something like |
|
Wouldn't |
|
Yeah using one of those two might be better. |
869fd1a to
2fdb8aa
Compare
|
ok updated. I went with |
|
You might add double quotes around the |
2fdb8aa to
18d6716
Compare
|
LGTM |
|
What about |
This makes it easier to see what header has an invalid value.
18d6716 to
6930512
Compare
|
Running CI one more time. @jasnell @thefourtheye @cjihrig, I added two more debug statements, PTAL. Thanks! |
This makes it easier to see what header has an invalid value. PR-URL: #9195 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]>
|
Landed in d93ab51 |
This makes it easier to see what header has an invalid value. PR-URL: #9195 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]>
|
is this something we want to backport? If so it will require manual backporting for both lts release streams |
|
ping @evanlucas |
|
Sorry for the delay @MylesBorins. I'll submit backport PRs. |
This makes it easier to see what header has an invalid value. PR-URL: nodejs#9195 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]>
This makes it easier to see what header has an invalid value. PR-URL: #9195 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]>
This makes it easier to see what header has an invalid value. PR-URL: #9195 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]>
This makes it easier to see what header has an invalid value. PR-URL: #9195 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]>
Notable changes
* performance: The performance of several APIs has been improved.
- `Buffer.compare()` is up to 35% faster on average. (Brian White)
#10927
- `buffer.toJSON()` is up to 2859% faster on average. (Brian White)
#10895
- `fs.*statSync()` functions are now up to 9.3% faster on average.
(Brian White) #11522
- `os.loadavg` is up to 151% faster. (Brian White)
#11516
- `process.memoryUsage()` is up to 34% faster. (Brian White)
#11497
- `querystring.unescape()` for `Buffer`s is 15% faster on average.
(Brian White) #10837
- `querystring.stringify()` is up to 7.8% faster on average.
(Brian White) #10852
- `querystring.parse()` is up to 21% faster on average. (Brian White)
#10874
* IPC:
- Batched writes have been enabled for process IPC on platforms that
support Unix Domain Sockets. (Alexey Orlenko)
#10677
- Performance gains may be up to 40% for some workloads.
* child_process:
- `spawnSync` now returns a null `status` when child is terminated by
a signal. (cjihrig) #11288
- This fixes the behavior to act like `spawn()` does.
* http:
- Control characters are now always rejected when using
`http.request()`. (Ben Noordhuis)
#8923
- Debug messages have been added for cases when headers contain
invalid values. (Evan Lucas)
#9195
* node:
- Heap statistics now support values larger than 4GB. (Ben Noordhuis)
#10186
* timers:
- Timer callbacks now always maintain order when interacting with
domain error handling. (John Barboza)
#10522
PR-URL: #11759
Notable changes
* performance: The performance of several APIs has been improved.
- `Buffer.compare()` is up to 35% faster on average. (Brian White)
#10927
- `buffer.toJSON()` is up to 2859% faster on average. (Brian White)
#10895
- `fs.*statSync()` functions are now up to 9.3% faster on average.
(Brian White) #11522
- `os.loadavg` is up to 151% faster. (Brian White)
#11516
- `process.memoryUsage()` is up to 34% faster. (Brian White)
#11497
- `querystring.unescape()` for `Buffer`s is 15% faster on average.
(Brian White) #10837
- `querystring.stringify()` is up to 7.8% faster on average.
(Brian White) #10852
- `querystring.parse()` is up to 21% faster on average. (Brian White)
#10874
* IPC:
- Batched writes have been enabled for process IPC on platforms that
support Unix Domain Sockets. (Alexey Orlenko)
#10677
- Performance gains may be up to 40% for some workloads.
* child_process:
- `spawnSync` now returns a null `status` when child is terminated by
a signal. (cjihrig) #11288
- This fixes the behavior to act like `spawn()` does.
* http:
- Control characters are now always rejected when using
`http.request()`. (Ben Noordhuis)
#8923
- Debug messages have been added for cases when headers contain
invalid values. (Evan Lucas)
#9195
* node:
- Heap statistics now support values larger than 4GB. (Ben Noordhuis)
#10186
* timers:
- Timer callbacks now always maintain order when interacting with
domain error handling. (John Barboza)
#10522
PR-URL: #11759
Notable changes
* performance: The performance of several APIs has been improved.
- `Buffer.compare()` is up to 35% faster on average. (Brian White)
nodejs/node#10927
- `buffer.toJSON()` is up to 2859% faster on average. (Brian White)
nodejs/node#10895
- `fs.*statSync()` functions are now up to 9.3% faster on average.
(Brian White) nodejs/node#11522
- `os.loadavg` is up to 151% faster. (Brian White)
nodejs/node#11516
- `process.memoryUsage()` is up to 34% faster. (Brian White)
nodejs/node#11497
- `querystring.unescape()` for `Buffer`s is 15% faster on average.
(Brian White) nodejs/node#10837
- `querystring.stringify()` is up to 7.8% faster on average.
(Brian White) nodejs/node#10852
- `querystring.parse()` is up to 21% faster on average. (Brian White)
nodejs/node#10874
* IPC:
- Batched writes have been enabled for process IPC on platforms that
support Unix Domain Sockets. (Alexey Orlenko)
nodejs/node#10677
- Performance gains may be up to 40% for some workloads.
* child_process:
- `spawnSync` now returns a null `status` when child is terminated by
a signal. (cjihrig) nodejs/node#11288
- This fixes the behavior to act like `spawn()` does.
* http:
- Control characters are now always rejected when using
`http.request()`. (Ben Noordhuis)
nodejs/node#8923
- Debug messages have been added for cases when headers contain
invalid values. (Evan Lucas)
nodejs/node#9195
* node:
- Heap statistics now support values larger than 4GB. (Ben Noordhuis)
nodejs/node#10186
* timers:
- Timer callbacks now always maintain order when interacting with
domain error handling. (John Barboza)
nodejs/node#10522
PR-URL: nodejs/node#11759
Signed-off-by: Ilkka Myller <[email protected]>
Notable changes
* performance: The performance of several APIs has been improved.
- `Buffer.compare()` is up to 35% faster on average. (Brian White)
nodejs/node#10927
- `buffer.toJSON()` is up to 2859% faster on average. (Brian White)
nodejs/node#10895
- `fs.*statSync()` functions are now up to 9.3% faster on average.
(Brian White) nodejs/node#11522
- `os.loadavg` is up to 151% faster. (Brian White)
nodejs/node#11516
- `process.memoryUsage()` is up to 34% faster. (Brian White)
nodejs/node#11497
- `querystring.unescape()` for `Buffer`s is 15% faster on average.
(Brian White) nodejs/node#10837
- `querystring.stringify()` is up to 7.8% faster on average.
(Brian White) nodejs/node#10852
- `querystring.parse()` is up to 21% faster on average. (Brian White)
nodejs/node#10874
* IPC:
- Batched writes have been enabled for process IPC on platforms that
support Unix Domain Sockets. (Alexey Orlenko)
nodejs/node#10677
- Performance gains may be up to 40% for some workloads.
* child_process:
- `spawnSync` now returns a null `status` when child is terminated by
a signal. (cjihrig) nodejs/node#11288
- This fixes the behavior to act like `spawn()` does.
* http:
- Control characters are now always rejected when using
`http.request()`. (Ben Noordhuis)
nodejs/node#8923
- Debug messages have been added for cases when headers contain
invalid values. (Evan Lucas)
nodejs/node#9195
* node:
- Heap statistics now support values larger than 4GB. (Ben Noordhuis)
nodejs/node#10186
* timers:
- Timer callbacks now always maintain order when interacting with
domain error handling. (John Barboza)
nodejs/node#10522
PR-URL: nodejs/node#11759
Signed-off-by: Ilkka Myller <[email protected]>
Checklist
make -j8 test(UNIX), orvcbuild test nosign(Windows) passesAffected core subsystem(s)
http
Description of change
This makes it easier to see what header has an invalid value. As discussed on the CTC call today (10/19/2016), this is a way to get which header is causing the throw without introducing a breaking change (changing error messages is considered breaking)
Ref: #9010