Tim Perry
4346c0f7a7
http: fix handling of HTTP upgrades with bodies
...
Previously, we ignored all indicators of the body (content-length or
transfer-encoding headers) and treated any information following
the headers as part of the upgraded stream. We now fully process the
requests bodies separately instead, allowing us to automatically handle
correct parsing of the body like any other HTTP request.
This is a breaking change if you are currently accepting HTTP Upgrade
requests with request bodies successfully, or if you use
socket-specific fields & methods on the upgraded stream argument.
In the former case, before now you will have received the request body
and then the upgraded data on the same stream without any distinction
or HTTP parsing applied. Now, you will need to separately read the
request body from the request (the 1st argument) and the upgraded
data from the upgrade stream (the 2nd argument). If you're not
interested in request bodies, you can continue to just read from the
upgrade stream directly.
In the latter case, if you want to access the raw socket, you should do
so via request.socket, instead of expecting the 2nd argument to be a
socket.
PR-URL: https://github.com/nodejs/node/pull/60016
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2025-11-03 17:19:33 +00:00
..
2025-10-28 09:08:19 +00:00
2025-08-13 10:25:19 +00:00
2025-08-13 10:25:19 +00:00
2025-10-31 19:48:29 +00:00
2025-08-05 14:15:02 +00:00
2025-09-14 00:39:49 +00:00
2025-08-19 10:22:35 +00:00
2025-09-09 00:36:14 +00:00
2025-10-17 20:15:17 +00:00
2025-06-09 15:20:30 +00:00
2025-07-08 20:37:51 +00:00
2025-10-23 13:42:23 +00:00
2025-10-28 00:15:55 +00:00
2025-10-28 00:15:55 +00:00
2025-11-01 22:51:55 +00:00
2025-11-01 22:51:55 +00:00
2025-07-23 16:28:06 +00:00
2025-06-13 12:47:23 +00:00
2025-09-21 02:47:14 +00:00
2025-08-15 05:40:01 +00:00
2025-09-21 02:47:14 +00:00
2025-09-21 02:47:14 +00:00
2025-09-21 02:47:14 +00:00
2025-07-11 07:38:24 +00:00
2025-06-30 21:03:28 +00:00
2025-09-07 19:29:02 -07:00
2025-08-16 06:43:49 +00:00
2025-09-12 11:00:39 +00:00
2025-10-09 07:55:31 +00:00
2025-10-09 07:55:31 +00:00
2025-09-12 11:00:39 +00:00
2025-09-12 11:00:39 +00:00
2025-07-20 04:47:16 +00:00
2025-09-07 19:29:02 -07:00
2025-10-03 16:11:08 +02:00
2025-08-09 17:18:51 +00:00
2025-08-19 19:30:38 +00:00
2025-08-19 19:30:38 +00:00
2025-07-16 10:57:22 +02:00
2025-08-09 17:18:51 +00:00
2025-08-09 17:18:51 +00:00
2025-07-11 14:21:46 +00:00
2025-08-09 17:18:51 +00:00
2025-08-09 17:18:51 +00:00
2025-08-09 17:18:51 +00:00
2025-06-09 15:53:10 +00:00
2025-08-20 14:30:58 +00:00
2025-07-11 14:21:46 +00:00
2025-09-06 22:43:15 +00:00
2025-06-20 13:09:06 -07:00
2025-07-08 13:39:00 +00:00
2025-07-08 13:39:00 +00:00
2025-08-09 17:18:51 +00:00
2025-08-06 21:49:30 +00:00
2025-08-16 14:39:14 +00:00
2025-08-26 15:41:25 +00:00
2025-08-06 21:49:30 +00:00
2025-08-16 14:39:14 +00:00
2025-08-26 15:41:25 +00:00
2025-08-06 21:49:30 +00:00
2025-07-26 22:40:18 +00:00
2025-09-07 13:17:42 +00:00
2025-09-16 19:27:04 +00:00
2025-08-19 01:08:01 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-07-20 17:37:28 +00:00
2025-08-15 05:40:01 +00:00
2025-09-19 07:28:39 +00:00
2025-09-19 07:28:39 +00:00
2025-11-01 19:56:44 +05:30
2025-11-01 19:56:44 +05:30
2025-11-01 19:56:44 +05:30
2025-11-01 19:56:44 +05:30
2025-11-01 19:56:44 +05:30
2025-08-17 05:29:41 +00:00
2025-08-17 05:29:41 +00:00
2025-06-11 11:57:51 +00:00
2025-06-11 11:57:51 +00:00
2025-09-24 17:22:00 +00:00
2025-06-13 12:47:23 +00:00
2025-07-10 15:50:43 +00:00
2025-06-13 12:47:23 +00:00
2025-08-31 17:20:02 +00:00
2025-10-04 12:54:47 +00:00
2025-10-29 15:16:59 +00:00
2025-06-29 04:23:09 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-07-28 20:27:07 -07:00
2025-06-14 14:06:04 -07:00
2025-06-29 21:47:02 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-09-07 18:15:13 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-16 22:08:36 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-31 17:30:53 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-16 22:08:36 +00:00
2025-08-16 22:08:36 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-08-10 19:35:42 +00:00
2025-07-03 13:38:59 -03:00
2025-06-29 21:47:02 +00:00
2025-06-25 17:00:25 +01:00
2025-06-18 05:19:57 +08:00
2025-08-01 07:25:18 -07:00
2025-06-29 21:47:02 +00:00
2025-09-08 08:11:29 +00:00
2025-07-16 10:57:22 +02:00
2025-07-06 05:32:45 +00:00
2025-06-20 19:03:34 +00:00
2025-06-09 14:36:23 +00:00
2025-06-25 17:00:25 +01:00
2025-09-08 08:11:29 +00:00
2025-10-09 05:33:33 +00:00
2025-06-10 16:27:17 +00:00
2025-08-14 09:51:13 +00:00
2025-07-27 04:54:22 +00:00
2025-06-21 16:20:38 +00:00
2025-06-21 16:20:38 +00:00
2025-06-21 16:20:38 +00:00
2025-08-15 05:40:01 +00:00
2025-06-28 16:58:54 +00:00
2025-09-25 11:59:58 +00:00
2025-09-20 18:18:23 +00:00
2025-06-11 13:47:31 +00:00
2025-06-11 13:47:31 +00:00
2025-10-08 23:23:34 +00:00
2025-06-11 13:47:31 +00:00
2025-06-11 13:47:31 +00:00
2025-08-21 11:18:10 +00:00
2025-08-21 11:18:10 +00:00
2025-07-29 14:44:52 +00:00
2025-06-11 13:47:31 +00:00
2025-08-13 02:32:30 +00:00
2025-10-13 15:58:26 +00:00
2025-08-20 07:10:17 +00:00
2025-08-28 19:02:10 +00:00
2025-08-04 13:47:09 +00:00
2025-07-28 03:25:59 +00:00
2025-08-21 19:38:09 +00:00
2025-10-14 12:17:53 +00:00
2025-08-20 07:10:17 +00:00
2025-09-17 15:14:01 +00:00
2025-11-03 17:19:33 +00:00
2025-11-03 17:19:33 +00:00
2025-11-03 17:19:33 +00:00
2025-11-03 17:19:33 +00:00
2025-11-03 17:19:33 +00:00
2025-08-20 07:10:17 +00:00
2025-08-12 09:14:18 +00:00
2025-08-19 10:09:14 +00:00
2025-10-29 11:20:29 +00:00
2025-09-14 16:46:00 +00:00
2025-06-20 10:20:37 +00:00
2025-07-07 21:25:34 +00:00
2025-08-27 16:25:13 +00:00
2025-10-14 07:06:15 +00:00
2025-10-15 11:41:54 +00:00
2025-11-03 13:23:20 +00:00
2025-10-17 10:22:19 +00:00
2025-07-08 20:37:51 +00:00
2025-07-23 16:28:06 +00:00
2025-09-11 10:37:46 +00:00
2025-08-20 06:58:13 +00:00
2025-08-22 09:24:31 +00:00
2025-08-09 12:54:53 +00:00
2025-08-09 12:54:53 +00:00
2025-10-28 00:23:50 +01:00
2025-09-24 14:11:35 +00:00
2025-09-24 14:11:35 +00:00
2025-10-28 00:23:50 +01:00
2025-10-13 10:05:45 +02:00
2025-07-07 15:21:07 +00:00
2025-07-02 02:32:20 +00:00
2025-09-11 20:10:02 +00:00
2025-06-21 14:40:10 +00:00
2025-07-02 02:32:20 +00:00
2025-06-07 13:33:25 +00:00
2025-06-07 13:33:25 +00:00
2025-07-28 20:27:07 -07:00
2025-07-07 15:21:07 +00:00
2025-09-11 20:10:02 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-06-17 12:35:23 +00:00
2025-09-11 20:10:02 +00:00
2025-10-13 10:05:45 +02:00
2025-09-07 19:29:02 -07:00
2025-07-26 02:35:57 +00:00
2025-06-21 14:40:10 +00:00
2025-09-07 19:29:02 -07:00
2025-10-19 17:39:54 +00:00
2025-09-24 14:11:35 +00:00
2025-09-24 14:11:35 +00:00
2025-10-28 16:55:56 +00:00
2025-09-07 19:29:02 -07:00
2025-10-04 02:12:19 +00:00
2025-10-07 14:04:53 +00:00
2025-10-07 14:04:53 +00:00
2025-09-20 14:03:50 +00:00
2025-10-07 14:04:53 +00:00
2025-09-20 14:03:50 +00:00
2025-10-07 14:04:53 +00:00
2025-09-20 14:03:50 +00:00
2025-10-10 06:15:13 +00:00
2025-10-10 06:15:13 +00:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-08-27 17:32:01 +00:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-30 15:20:02 +02:00
2025-09-07 19:08:39 +00:00
2025-08-05 14:15:02 +00:00
2025-06-29 20:48:29 +00:00
2025-06-23 09:37:40 +00:00
2025-09-04 09:35:48 +00:00
2025-08-16 06:43:49 +00:00
2025-06-23 09:37:40 +00:00
2025-08-27 03:36:54 +00:00
2025-06-09 17:57:07 +00:00
2025-10-22 11:05:39 +00:00
2025-08-13 08:50:42 +00:00
2025-06-27 11:50:17 +00:00
2025-08-23 19:40:58 +00:00
2025-08-19 07:42:00 +00:00
2025-06-23 09:37:40 +00:00
2025-09-04 11:58:50 +00:00
2025-08-20 18:24:04 +00:00
2025-06-13 12:10:51 +00:00
2025-10-01 11:40:45 +02:00
2025-06-10 12:57:27 +00:00
2025-10-27 14:01:16 +00:00
2025-08-23 21:45:43 +00:00
2025-09-30 15:30:25 +02:00
2025-08-22 12:56:58 +00:00
2025-09-17 16:54:11 +00:00
2025-09-23 14:41:39 +00:00
2025-10-27 19:23:34 +00:00
2025-10-27 19:23:34 +00:00
2025-10-27 19:23:34 +00:00
2025-07-16 10:57:22 +02:00
2025-08-02 04:25:35 +00:00
2025-07-23 16:28:06 +00:00
2025-06-11 16:11:18 +00:00
2025-06-29 18:58:29 +00:00
2025-09-24 14:11:36 +00:00
2025-06-29 04:23:09 -07:00
2025-06-29 04:23:09 -07:00
2025-06-29 04:23:09 -07:00
2025-09-30 15:25:08 +02:00
2025-08-10 14:20:58 +00:00
2025-09-22 18:26:26 +00:00
2025-08-11 17:36:30 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-07-18 19:57:53 +00:00
2025-08-11 09:14:44 +00:00
2025-09-05 17:03:16 +00:00
2025-09-05 17:03:16 +00:00
2025-06-09 10:16:41 -07:00
2025-06-09 10:16:41 -07:00
2025-09-12 12:59:26 +00:00
2025-10-18 21:29:35 +02:00
2025-09-05 14:29:21 +00:00
2025-10-31 08:33:38 +00:00
2025-09-14 00:39:49 +00:00
2025-10-04 12:54:47 +00:00
2025-07-23 19:33:51 +00:00
2025-06-13 12:10:51 +00:00
2025-10-11 17:20:57 +00:00
2025-06-13 12:10:51 +00:00
2025-06-13 12:10:51 +00:00
2025-06-13 12:10:51 +00:00
2025-07-16 10:57:22 +02:00
2025-09-21 13:04:37 +00:00
2025-08-29 12:17:18 +00:00
2025-06-28 18:51:48 +00:00
2025-10-18 08:20:47 +00:00
2025-10-18 08:20:47 +00:00
2025-10-18 08:20:47 +00:00
2025-10-18 08:20:47 +00:00
2025-09-19 09:12:17 +00:00
2025-09-19 09:12:17 +00:00
2025-08-29 12:17:18 +00:00
2025-08-22 12:57:07 +00:00
2025-08-29 12:17:18 +00:00
2025-08-29 12:17:18 +00:00
2025-10-12 14:28:56 +00:00
2025-08-29 12:17:18 +00:00
2025-06-11 09:06:22 +00:00
2025-08-29 12:17:18 +00:00
2025-09-21 13:04:37 +00:00
2025-09-22 18:12:43 -07:00
2025-11-01 11:15:52 +00:00
2025-10-19 14:20:09 +00:00
2025-11-01 11:15:52 +00:00
2025-07-18 07:55:10 -07:00
2025-07-18 07:55:10 -07:00
2025-08-19 15:55:58 +02:00
2025-08-26 16:05:56 +00:00
2025-08-19 15:57:23 +02:00
2025-08-19 15:57:08 +02:00
2025-10-25 11:30:34 +00:00
2025-08-19 15:57:23 +02:00
2025-08-19 15:57:23 +02:00
2025-08-19 15:57:08 +02:00
2025-10-25 11:30:34 +00:00
2025-10-25 11:30:34 +00:00
2025-08-23 17:01:51 +02:00
2025-08-24 09:47:20 +00:00
2025-08-19 15:57:08 +02:00
2025-08-24 09:47:20 +00:00
2025-08-19 15:57:23 +02:00
2025-08-19 15:55:57 +02:00
2025-08-23 17:01:51 +02:00
2025-08-23 17:01:51 +02:00
2025-08-19 15:57:23 +02:00
2025-09-06 22:43:15 +00:00
2025-08-22 15:56:56 +00:00
2025-08-21 14:14:57 +00:00
2025-09-06 22:43:15 +00:00
2025-09-06 22:43:15 +00:00
2025-09-07 13:17:42 +00:00
2025-09-06 22:43:15 +00:00
2025-09-07 13:17:42 +00:00
2025-10-25 15:13:30 +00:00
2025-09-06 22:43:15 +00:00
2025-08-23 17:01:51 +02:00
2025-09-07 13:17:42 +00:00
2025-08-24 09:47:20 +00:00
2025-10-31 19:48:29 +00:00
2025-10-23 14:38:22 +00:00
2025-10-04 03:17:35 +00:00
2025-06-09 14:36:23 +00:00
2025-08-21 02:22:19 +00:00
2025-09-01 16:25:48 +00:00
2025-07-28 10:42:44 +00:00
2025-09-23 12:41:47 +00:00
2025-10-13 06:48:18 +00:00
2025-06-29 18:58:29 +00:00
2025-06-29 18:58:29 +00:00
2025-07-29 19:28:35 +00:00
2025-08-13 13:53:24 +00:00
2025-08-05 13:45:41 +00:00
2025-07-29 23:12:48 +00:00
2025-08-04 16:13:57 +00:00