From c448c4840eafcac9eb3e7af355821f9394888466 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 22 Mar 2020 12:25:46 +0100 Subject: getinfo: provide CURLINFO_HEADER_SIZE and CURLINFO_REQUEST_SIZE override To let debug-builds return fake values, like in test 970. Ref: #5131 Closes #5136 --- lib/getinfo.c | 13 +++++++++++++ tests/data/test970 | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/getinfo.c b/lib/getinfo.c index 9aac5e2b8..18274e964 100644 --- a/lib/getinfo.c +++ b/lib/getinfo.c @@ -159,6 +159,19 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info, break; } } + /* use another variable for this to allow different values */ + timestr = getenv("CURL_DEBUG_SIZE"); + if(timestr) { + unsigned long val = strtol(timestr, NULL, 10); + switch(info) { + case CURLINFO_HEADER_SIZE: + case CURLINFO_REQUEST_SIZE: + *param_longp = (long)val; + return CURLE_OK; + default: + break; + } + } #endif switch(info) { diff --git a/tests/data/test970 b/tests/data/test970 index 3496a2a73..04a663bc9 100644 --- a/tests/data/test970 +++ b/tests/data/test970 @@ -36,6 +36,7 @@ debug CURL_TIME=13 +CURL_DEBUG_SIZE=4019 CURL_VERSION=curl-unit-test-fake-version @@ -59,7 +60,7 @@ Accept: */* -{"url_effective":"http://%HOSTIP:%HTTPPORT/970","http_code":200,"response_code":200,"http_connect":0,"time_total":0.000013,"time_namelookup":0.000013,"time_connect":0.000013,"time_appconnect":0.000013,"time_pretransfer":0.000013,"time_starttransfer":0.000013,"size_header":252,"size_request":85,"size_download":445,"size_upload":0,"speed_download":0.000013,"speed_upload":0.000013,"content_type":"text/html","num_connects":1,"time_redirect":0.000013,"num_redirects":0,"ssl_verify_result":0,"proxy_ssl_verify_result":0,"filename_effective":"log/out970","remote_ip":"%HOSTIP","remote_port":%HTTPPORT,"local_ip":"127.0.0.1","local_port":13,"http_version":"1.1","scheme":"HTTP","curl_version":"curl-unit-test-fake-version"} +{"url_effective":"http://%HOSTIP:%HTTPPORT/970","http_code":200,"response_code":200,"http_connect":0,"time_total":0.000013,"time_namelookup":0.000013,"time_connect":0.000013,"time_appconnect":0.000013,"time_pretransfer":0.000013,"time_starttransfer":0.000013,"size_header":4019,"size_request":4019,"size_download":445,"size_upload":0,"speed_download":0.000013,"speed_upload":0.000013,"content_type":"text/html","num_connects":1,"time_redirect":0.000013,"num_redirects":0,"ssl_verify_result":0,"proxy_ssl_verify_result":0,"filename_effective":"log/out970","remote_ip":"%HOSTIP","remote_port":%HTTPPORT,"local_ip":"127.0.0.1","local_port":13,"http_version":"1.1","scheme":"HTTP","curl_version":"curl-unit-test-fake-version"} -- cgit v1.2.3