Stefan Eissing
14bcea074a
lib: enhance client reader resume + rewind
...
- update client reader documentation
- client reader, add rewind capabilities
- tell creader to rewind on next start
- Curl_client_reset() will keep reader for future rewind if requested
- add Curl_client_cleanup() for freeing all resources independent of
rewinds
- add Curl_client_start() to trigger rewinds
- move rewind code from multi.c to sendf.c and make part of
"cr-in"'s implementation
- http, move the "resume_from" handling into the client readers
- the setup of a HTTP request is reshuffled to follow:
* determine method, target, auth negotiation
* install the client reader(s) for the request, including crlf
conversions and "chunked" encoding
* apply ranges to client reader
* concat request headers, upgrades, cookies, etc.
* complete request by determining Content-Length of installed
readers in combination with method
* send
- add methods for client readers to
* return the overall length they will generate (or -1 when unknown)
* return the amount of data on the CLIENT level, so that
expect-100 can decide if it want to apply itself
* set a "resume_from" offset or fail if unsupported
- struct HTTP has become largely empty now
- rename `Client_reader_*` to `Curl_creader_*`
Closes #13026
2024-03-05 13:26:05 +01:00
..
2024-02-20 11:36:12 +01:00
2024-03-05 10:54:08 +00:00
2024-03-01 09:59:48 +01:00
2024-03-03 18:22:03 +01:00
2021-09-09 07:53:42 +02:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-02-07 09:22:10 +01:00
2023-01-03 09:19:21 +01:00
2023-07-20 23:41:47 +02:00
2023-08-31 23:02:10 +00:00
2023-10-26 17:42:54 +02:00
2024-03-01 09:59:48 +01:00
2024-02-01 13:42:48 +01:00
2023-01-03 09:19:21 +01:00
2023-12-01 23:26:53 -05:00
2024-03-03 17:35:47 +01:00
2024-02-28 12:58:55 +01:00
2023-12-08 17:22:33 +01:00
2023-01-03 09:19:21 +01:00
2024-03-05 13:26:05 +01:00
2024-02-27 08:58:10 +01:00
2024-03-04 08:42:56 +01:00
2023-04-06 13:04:46 +02:00
2023-12-16 13:12:37 +00:00
2023-04-06 13:04:46 +02:00
2024-02-27 14:13:56 +01:00
2023-05-23 11:08:51 +02:00
2023-12-16 13:12:37 +00:00
2023-03-02 08:48:34 +01:00
2024-02-08 23:14:33 +01:00
2023-12-16 13:12:37 +00:00
2024-02-27 14:13:56 +01:00
2024-03-01 09:59:48 +01:00
2023-11-10 18:24:14 +00:00
2023-11-06 17:20:39 +00:00
2023-10-27 00:37:34 +00:00
2023-09-28 22:58:36 +02:00
2023-12-16 13:16:52 +00:00
2023-11-06 17:20:39 +00:00
2023-11-06 17:20:39 +00:00
2023-12-16 13:13:44 +00:00
2023-12-16 13:13:44 +00:00
2024-02-09 09:43:50 +01:00
2023-06-12 23:53:00 +02:00
2024-02-22 08:38:53 +01:00
2023-05-23 11:08:51 +02:00
2024-01-13 17:23:42 +01:00
2023-11-07 16:35:30 +01:00
2024-03-04 08:46:59 +01:00
2023-09-15 22:09:43 +02:00
2023-05-23 10:42:09 +02:00
2023-01-03 09:19:21 +01:00
2023-07-31 11:51:34 +02:00
2024-01-24 23:22:27 +00:00
2023-09-14 03:07:45 -04:00
2024-03-01 09:59:48 +01:00
2023-07-29 23:44:28 +02:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-02-07 09:22:10 +01:00
2024-02-07 09:22:10 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-03-10 08:04:42 +01:00
2023-01-03 09:19:21 +01:00
2023-11-15 20:57:49 +00:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-09-07 17:45:06 +02:00
2023-09-07 17:45:06 +02:00
2023-11-22 15:42:25 +00:00
2023-01-03 09:19:21 +01:00
2023-09-26 14:25:10 +00:00
2023-11-22 15:42:25 +00:00
2023-11-22 15:42:25 +00:00
2023-11-23 02:03:02 +00:00
2023-07-29 23:44:28 +02:00
2024-02-01 13:04:56 +01:00
2023-01-03 09:19:21 +01:00
2023-05-18 20:45:04 +02:00
2023-11-22 15:42:25 +00:00
2023-12-18 10:34:22 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-02-27 08:58:10 +01:00
2023-01-03 09:19:21 +01:00
2024-01-26 02:58:21 -05:00
2023-01-04 15:36:36 +01:00
2023-11-22 15:42:25 +00:00
2024-02-20 17:49:01 +01:00
2023-09-07 17:45:06 +02:00
2024-02-20 17:49:01 +01:00
2024-02-20 11:35:56 +01:00
2023-01-03 09:19:21 +01:00
2023-11-03 03:50:59 -04:00
2023-09-23 09:12:57 +00:00
2023-09-23 09:12:57 +00:00
2024-02-20 14:01:59 +01:00
2024-02-20 14:01:59 +01:00
2023-01-03 09:19:21 +01:00
2024-02-26 14:25:41 +01:00
2024-02-26 14:25:41 +01:00
2024-02-27 14:13:56 +01:00
2023-01-03 09:19:21 +01:00
2024-02-20 14:01:59 +01:00
2024-02-20 14:01:59 +01:00
2024-01-27 21:19:41 +00:00
2023-12-16 13:12:37 +00:00
2023-10-21 14:36:51 +02:00
2023-10-21 14:36:51 +02:00
2023-10-12 23:40:08 -04:00
2024-02-27 14:13:56 +01:00
2024-02-28 11:28:10 +01:00
2024-02-27 14:13:56 +01:00
2024-02-28 11:28:10 +01:00
2023-01-03 09:19:21 +01:00
2023-09-30 11:45:39 +02:00
2023-09-30 11:45:39 +02:00
2024-03-04 08:42:56 +01:00
2023-01-03 09:19:21 +01:00
2023-03-28 10:11:33 +02:00
2023-03-28 10:11:33 +02:00
2024-02-27 14:26:22 +01:00
2023-01-03 09:19:21 +01:00
2023-12-16 13:12:37 +00:00
2023-07-31 08:31:38 +02:00
2024-03-01 01:16:24 -08:00
2023-03-13 09:07:23 +01:00
2023-11-21 16:35:42 +00:00
2023-03-03 23:25:30 +01:00
2023-11-22 15:42:25 +00:00
2023-11-22 15:42:25 +00:00
2024-02-22 08:38:53 +01:00
2023-01-03 09:19:21 +01:00
2024-02-27 14:13:56 +01:00
2023-01-03 09:19:21 +01:00
2023-04-14 09:26:26 +02:00
2023-01-03 09:19:21 +01:00
2024-02-26 09:44:15 +01:00
2024-02-26 09:44:15 +01:00
2023-09-20 13:38:42 +02:00
2023-12-15 12:57:35 +01:00
2023-01-03 09:19:21 +01:00
2023-10-28 00:27:20 -04:00
2024-03-01 09:59:48 +01:00
2023-10-20 23:00:10 +02:00
2023-01-03 09:19:21 +01:00
2024-02-07 09:22:10 +01:00
2023-01-03 09:19:21 +01:00
2023-09-25 20:12:18 +02:00
2023-09-25 20:12:18 +02:00
2024-02-05 22:29:21 +01:00
2023-05-23 11:08:51 +02:00
2023-12-11 23:29:02 +01:00
2023-01-03 09:19:21 +01:00
2024-03-05 13:26:05 +01:00
2024-02-28 12:58:55 +01:00
2023-09-07 17:45:06 +02:00
2023-09-07 17:45:06 +02:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-01-11 08:49:21 +01:00
2023-09-25 20:12:18 +02:00
2024-03-05 13:26:05 +01:00
2024-03-05 13:26:05 +01:00
2023-11-22 15:42:25 +00:00
2023-08-17 08:21:08 +02:00
2023-08-17 17:17:59 +02:00
2023-01-03 09:19:21 +01:00
2024-02-27 08:58:10 +01:00
2023-01-04 15:36:36 +01:00
2023-09-27 13:18:22 +02:00
2023-01-03 09:19:21 +01:00
2023-12-19 12:45:28 +00:00
2023-12-18 14:56:57 +00:00
2024-02-27 14:13:56 +01:00
2024-02-27 08:58:10 +01:00
2022-04-20 15:26:13 +02:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-07-29 23:42:53 +02:00
2023-07-29 23:42:53 +02:00
2023-11-14 19:28:15 +00:00
2024-02-27 08:58:10 +01:00
2023-12-16 13:12:22 +00:00
2023-01-03 09:19:21 +01:00
2024-02-05 23:38:12 +01:00
2023-09-07 17:45:06 +02:00
2024-01-27 21:19:41 +00:00
2023-12-16 13:12:37 +00:00
2024-01-27 21:19:41 +00:00
2023-12-16 13:12:37 +00:00
2024-03-01 09:59:48 +01:00
2024-02-27 14:13:56 +01:00
2024-01-27 12:42:19 +01:00
2024-03-05 13:26:05 +01:00
2024-03-04 08:42:56 +01:00
2024-03-04 08:42:56 +01:00
2024-02-07 09:22:10 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-12-16 13:12:37 +00:00
2023-01-04 09:15:37 +01:00
2024-02-27 08:58:10 +01:00
2024-02-28 11:28:10 +01:00
2023-05-18 20:45:04 +02:00
2023-01-03 09:19:21 +01:00
2024-02-27 14:13:56 +01:00
2024-02-27 08:58:10 +01:00
2024-02-27 08:58:10 +01:00
2023-01-04 15:36:36 +01:00
2023-12-27 09:28:48 +01:00
2023-12-27 09:28:48 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-01-08 22:48:24 +01:00
2023-11-22 15:42:25 +00:00
2023-11-22 15:42:25 +00:00
2023-01-03 09:19:21 +01:00
2024-03-05 13:26:05 +01:00
2024-03-05 13:26:05 +01:00
2024-03-05 13:26:05 +01:00
2023-10-21 14:38:21 +02:00
2023-11-22 15:42:25 +00:00
2023-01-03 09:19:21 +01:00
2024-03-05 13:26:05 +01:00
2024-03-05 13:26:05 +01:00
2024-03-04 08:42:56 +01:00
2023-01-03 09:19:21 +01:00
2023-08-30 11:38:27 +02:00
2023-08-01 21:58:56 +00:00
2023-12-16 13:13:44 +00:00
2023-09-07 17:45:06 +02:00
2023-12-19 12:45:28 +00:00
2023-11-06 22:00:10 +00:00
2023-09-26 14:25:10 +00:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-03-04 08:42:56 +01:00
2024-03-04 08:42:56 +01:00
2024-03-05 13:26:05 +01:00
2024-03-04 08:42:56 +01:00
2023-01-03 09:19:21 +01:00
2023-12-18 14:56:57 +00:00
2023-10-18 08:23:53 +02:00
2024-03-01 09:59:48 +01:00
2023-12-16 13:12:37 +00:00
2024-01-26 16:40:03 +01:00
2023-05-23 11:08:51 +02:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2023-12-08 17:22:33 +01:00
2023-12-08 17:22:33 +01:00
2023-12-21 23:17:15 +01:00
2023-11-22 15:42:25 +00:00
2023-01-03 09:19:21 +01:00
2023-01-03 09:19:21 +01:00
2024-02-26 17:19:27 +01:00
2023-01-03 09:19:21 +01:00
2023-12-28 03:38:44 -05:00
2023-12-28 03:38:44 -05:00
2024-02-27 14:13:56 +01:00
2023-01-03 09:19:21 +01:00
2024-03-04 08:42:56 +01:00
2023-11-22 07:44:05 +01:00
2023-11-22 15:42:25 +00:00
2023-01-03 09:19:21 +01:00
2023-11-22 15:42:25 +00:00
2023-09-28 09:52:20 +02:00
2024-03-05 13:26:05 +01:00
2024-03-04 08:42:56 +01:00
2024-03-04 08:42:56 +01:00
2024-02-27 08:58:10 +01:00
2023-04-27 08:36:51 +02:00
2024-02-26 17:19:27 +01:00
2024-03-05 13:26:05 +01:00
2023-11-22 15:42:25 +00:00
2023-11-22 15:42:25 +00:00
2024-02-06 09:50:35 +01:00
2023-11-22 15:42:25 +00:00
2023-11-22 15:42:25 +00:00
2024-02-27 14:13:56 +01:00
2024-01-16 16:43:24 +01:00