Commit 753f3b2
http: add requestTimeout
This commits introduces a new http.Server option called requestTimeout
with a default value in milliseconds of 0.
If requestTimeout is set to a positive value, the server will start a new
timer set to expire in requestTimeout milliseconds when a new connection
is established. The timer is also set again if new requests after the
first are received on the socket (this handles pipelining and keep-alive
cases).
The timer is cancelled when:
1. the request body is completely received by the server.
2. the response is completed. This handles the case where the
application responds to the client without consuming the request body.
3. the connection is upgraded, like in the WebSocket case.
If the timer expires, then the server responds with status code 408 and
closes the connection.
CVE-2020-8251
PR-URL: nodejs-private/node-private#208
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Co-Authored-By: Paolo Insogna <paolo@cowtech.it>
Co-Authored-By: Robert Nagy <ronagy@icloud.com>1 parent dd82837 commit 753f3b2Copy full SHA for 753f3b2
File tree
Expand file treeCollapse file tree
14 files changed
+517
-8
lines changedOpen diff view settings
Filter options
- doc/api
- lib
- internal
- src
- test/parallel
Expand file treeCollapse file tree
14 files changed
+517
-8
lines changedOpen diff view settings
Collapse file
+5Lines changed: 5 additions & 0 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
940 | 940 | |
941 | 941 | |
942 | 942 | |
| 943 | + |
| 944 | + |
| 945 | + |
| 946 | + |
| 947 | + |
943 | 948 | |
944 | 949 | |
945 | 950 | |
|
Collapse file
+17Lines changed: 17 additions & 0 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
1256 | 1256 | |
1257 | 1257 | |
1258 | 1258 | |
| 1259 | + |
| 1260 | + |
| 1261 | + |
| 1262 | + |
| 1263 | + |
| 1264 | + |
| 1265 | + |
| 1266 | + |
| 1267 | + |
| 1268 | + |
| 1269 | + |
| 1270 | + |
| 1271 | + |
| 1272 | + |
| 1273 | + |
| 1274 | + |
| 1275 | + |
1259 | 1276 | |
1260 | 1277 | |
1261 | 1278 | |
|
Collapse file
+10Lines changed: 10 additions & 0 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
113 | 113 | |
114 | 114 | |
115 | 115 | |
| 116 | + |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | + |
| 124 | + |
116 | 125 | |
117 | 126 | |
118 | 127 | |
| ||
449 | 458 | |
450 | 459 | |
451 | 460 | |
| 461 | + |
452 | 462 | |
453 | 463 | |
454 | 464 | |
|
Collapse file
+8Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
44 | 44 | |
45 | 45 | |
46 | 46 | |
| 47 | + |
47 | 48 | |
48 | 49 | |
49 | 50 | |
| ||
99 | 100 | |
100 | 101 | |
101 | 102 | |
| 103 | + |
| 104 | + |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | + |
102 | 109 | |
103 | 110 | |
104 | 111 | |
| ||
264 | 271 | |
265 | 272 | |
266 | 273 | |
| 274 | + |
267 | 275 | |
268 | 276 | |
269 | 277 | |
|
Collapse file
+83-2Lines changed: 83 additions & 2 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
40 | 40 | |
41 | 41 | |
42 | 42 | |
| 43 | + |
43 | 44 | |
44 | 45 | |
45 | 46 | |
| ||
57 | 58 | |
58 | 59 | |
59 | 60 | |
| 61 | + |
60 | 62 | |
61 | 63 | |
62 | 64 | |
| ||
72 | 74 | |
73 | 75 | |
74 | 76 | |
| 77 | + |
75 | 78 | |
76 | 79 | |
77 | 80 | |
| ||
143 | 146 | |
144 | 147 | |
145 | 148 | |
| 149 | + |
146 | 150 | |
147 | 151 | |
148 | 152 | |
| ||
360 | 364 | |
361 | 365 | |
362 | 366 | |
| 367 | + |
363 | 368 | |
364 | 369 | |
365 | 370 | |
| ||
481 | 486 | |
482 | 487 | |
483 | 488 | |
| 489 | + |
| 490 | + |
| 491 | + |
| 492 | + |
| 493 | + |
| 494 | + |
| 495 | + |
| 496 | + |
| 497 | + |
| 498 | + |
484 | 499 | |
485 | 500 | |
486 | 501 | |
| ||
567 | 582 | |
568 | 583 | |
569 | 584 | |
| 585 | + |
| 586 | + |
| 587 | + |
| 588 | + |
| 589 | + |
570 | 590 | |
571 | 591 | |
572 | 592 | |
| ||
589 | 609 | |
590 | 610 | |
591 | 611 | |
| 612 | + |
| 613 | + |
| 614 | + |
| 615 | + |
592 | 616 | |
593 | 617 | |
594 | 618 | |
| ||
600 | 624 | |
601 | 625 | |
602 | 626 | |
603 | | - |
604 | | - |
| 627 | + |
| 628 | + |
| 629 | + |
| 630 | + |
| 631 | + |
| 632 | + |
| 633 | + |
| 634 | + |
| 635 | + |
| 636 | + |
| 637 | + |
| 638 | + |
| 639 | + |
| 640 | + |
605 | 641 | |
606 | 642 | |
607 | 643 | |
| ||
641 | 677 | |
642 | 678 | |
643 | 679 | |
| 680 | + |
| 681 | + |
| 682 | + |
| 683 | + |
644 | 684 | |
645 | 685 | |
646 | 686 | |
647 | 687 | |
648 | 688 | |
| 689 | + |
| 690 | + |
| 691 | + |
| 692 | + |
| 693 | + |
649 | 694 | |
650 | 695 | |
651 | 696 | |
| ||
671 | 716 | |
672 | 717 | |
673 | 718 | |
| 719 | + |
| 720 | + |
| 721 | + |
| 722 | + |
| 723 | + |
| 724 | + |
| 725 | + |
| 726 | + |
| 727 | + |
| 728 | + |
| 729 | + |
| 730 | + |
| 731 | + |
| 732 | + |
| 733 | + |
| 734 | + |
| 735 | + |
| 736 | + |
| 737 | + |
| 738 | + |
| 739 | + |
| 740 | + |
| 741 | + |
| 742 | + |
| 743 | + |
| 744 | + |
674 | 745 | |
675 | 746 | |
676 | 747 | |
| ||
685 | 756 | |
686 | 757 | |
687 | 758 | |
| 759 | + |
| 760 | + |
| 761 | + |
| 762 | + |
| 763 | + |
| 764 | + |
| 765 | + |
| 766 | + |
688 | 767 | |
689 | 768 | |
690 | 769 | |
| ||
779 | 858 | |
780 | 859 | |
781 | 860 | |
| 861 | + |
| 862 | + |
782 | 863 | |
783 | 864 | |
784 | 865 | |
|
Collapse file
+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
80 | 80 | |
81 | 81 | |
82 | 82 | |
| 83 | + |
83 | 84 | |
84 | 85 | |
85 | 86 | |
|
Collapse file
+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
936 | 936 | |
937 | 937 | |
938 | 938 | |
| 939 | + |
939 | 940 | |
940 | 941 | |
941 | 942 | |
|
Collapse file
+22-6Lines changed: 22 additions & 6 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
69 | 69 | |
70 | 70 | |
71 | 71 | |
72 | | - |
73 | | - |
74 | | - |
75 | | - |
76 | | - |
77 | | - |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
78 | 79 | |
79 | 80 | |
80 | 81 | |
| ||
204 | 205 | |
205 | 206 | |
206 | 207 | |
| 208 | + |
| 209 | + |
| 210 | + |
| 211 | + |
| 212 | + |
| 213 | + |
| 214 | + |
| 215 | + |
| 216 | + |
| 217 | + |
| 218 | + |
| 219 | + |
| 220 | + |
207 | 221 | |
208 | 222 | |
209 | 223 | |
| ||
939 | 953 | |
940 | 954 | |
941 | 955 | |
| 956 | + |
| 957 | + |
942 | 958 | |
943 | 959 | |
944 | 960 | |
|
Collapse file
test/parallel/test-http-server-request-timeout-delayed-body.js
Copy file name to clipboard+62Lines changed: 62 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
0 commit comments