mirror of
https://github.com/curl/curl.git
synced 2026-08-14 04:50:53 +03:00
Toby Peterson added CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessible
from the command line tool with --ignore-content-length. This will make it easier to download files from Apache 1.x (and similar) servers that are still having problems serving files larger than 2 or 4 GB. When this option is enabled, curl will simply have to wait for the server to close the connection to signal end of transfer. I wrote test case 269 that runs a simple test that this works.
This commit is contained in:
parent
1e038c4bc6
commit
a4773fcbbb
11 changed files with 92 additions and 5 deletions
|
|
@ -718,7 +718,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
|
|||
the header completely if we get a 416 response as then we're
|
||||
resuming a document that we don't get, and this header contains
|
||||
info about the true size of the document we didn't get now. */
|
||||
if (!k->ignorecl &&
|
||||
if (!k->ignorecl && !data->set.ignorecl &&
|
||||
checkprefix("Content-Length:", k->p)) {
|
||||
contentlength = curlx_strtoofft(k->p+15, NULL, 10);
|
||||
if (data->set.max_filesize &&
|
||||
|
|
|
|||
|
|
@ -1443,6 +1443,10 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
|
|||
data->set.ftp_account = va_arg(param, char *);
|
||||
break;
|
||||
|
||||
case CURLOPT_IGNORE_CONTENT_LENGTH:
|
||||
data->set.ignorecl = va_arg(param, long)?TRUE:FALSE;
|
||||
break;
|
||||
|
||||
default:
|
||||
/* unknown tag and its companion, just ignore: */
|
||||
result = CURLE_FAILED_INIT; /* correct this */
|
||||
|
|
|
|||
|
|
@ -1068,6 +1068,7 @@ struct UserDefined {
|
|||
bool global_dns_cache; /* subject for future removal */
|
||||
bool tcp_nodelay; /* whether to enable TCP_NODELAY or not */
|
||||
|
||||
bool ignorecl; /* ignore content length */
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue