From 628ebd82b9af893fccb7a3c065c7033b7dfa1096 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 3 Jun 2021 17:56:36 +0200 Subject: [PATCH] test269: disable for hyper --ignore-content-length / CURLOPT_IGNORE_CONTENT_LENGTH doesn't work with hyper. Closes #7184 --- docs/HYPER.md | 7 +++++++ docs/cmdline-opts/ignore-content-length.d | 2 ++ docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 | 5 +++-- lib/setopt.c | 4 ++++ tests/data/test269 | 3 +++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/HYPER.md b/docs/HYPER.md index b1a6d0cbb1..da6c663377 100644 --- a/docs/HYPER.md +++ b/docs/HYPER.md @@ -44,6 +44,13 @@ The API in Hyper delivers received HTTP headers as (cleaned up) name=value pairs, making it impossible for curl to know the exact byte representation over the wire with Hyper. +## Limitations + +The hyper backend doesn't support + +- `CURLOPT_IGNORE_CONTENT_LENGTH` +- RTSP + ## Remaining issues This backend is still not feature complete with the native backend. Areas that diff --git a/docs/cmdline-opts/ignore-content-length.d b/docs/cmdline-opts/ignore-content-length.d index 82ac5da091..cec990a8d6 100644 --- a/docs/cmdline-opts/ignore-content-length.d +++ b/docs/cmdline-opts/ignore-content-length.d @@ -9,3 +9,5 @@ files larger than 2 gigabytes. For FTP (since 7.46.0), skip the RETR command to figure out the size before downloading a file. + +This option doesn't work if libcurl was built to use hyper for HTTP. diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 index e51b78fb78..56e9ec9543 100644 --- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 +++ b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2021, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -60,7 +60,8 @@ if(curl) { } .fi .SH AVAILABILITY -Added in 7.14.1. Support for FTP added in 7.46.0. +Added in 7.14.1. Support for FTP added in 7.46.0. This option is not working +for the hyper backend. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" diff --git a/lib/setopt.c b/lib/setopt.c index 5446700e74..4533f5be68 100644 --- a/lib/setopt.c +++ b/lib/setopt.c @@ -2370,8 +2370,12 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param) break; case CURLOPT_IGNORE_CONTENT_LENGTH: +#ifndef USE_HYPER data->set.ignorecl = (0 != va_arg(param, long)) ? TRUE : FALSE; break; +#else + return CURLE_NOT_BUILT_IN; +#endif case CURLOPT_CONNECT_ONLY: /* diff --git a/tests/data/test269 b/tests/data/test269 index 448d5fbeb0..36014c808b 100644 --- a/tests/data/test269 +++ b/tests/data/test269 @@ -26,6 +26,9 @@ muahahaha # # Client-side + +!hyper + http -- 2.47.2