Loading lib/http.c +6 −2 Original line number Diff line number Diff line Loading @@ -1626,12 +1626,12 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn, else if(conn->bits.authneg && /* while doing auth neg, don't allow the custom length since we will force length zero then */ checkprefix("Content-Length", headers->data)) checkprefix("Content-Length:", headers->data)) ; else if(conn->allocptr.te && /* when asking for Transfer-Encoding, don't pass on a custom Connection: */ checkprefix("Connection", headers->data)) checkprefix("Connection:", headers->data)) ; else if((conn->httpversion == 20) && checkprefix("Transfer-Encoding:", headers->data)) Loading Loading @@ -1664,6 +1664,10 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn, *ptr = ':'; result = Curl_add_bufferf(req_buffer, "%s\r\n", headers->data); /* restore the previous value */ *ptr = ';'; if(result) return result; } Loading tests/data/test4 +9 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ http Replaced internal and added custom HTTP headers </name> <command> -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/4 -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/4 http://%HOSTIP:%HTTPPORT/4 </command> </client> Loading @@ -49,6 +49,14 @@ X-Custom-Header: X-Test: foo; X-Test2: foo; GET /4 HTTP/1.1 Host: %HOSTIP:%HTTPPORT extra-header: here Accept: replaced X-Custom-Header: X-Test: foo; X-Test2: foo; </protocol> </verify> </testcase> Loading
lib/http.c +6 −2 Original line number Diff line number Diff line Loading @@ -1626,12 +1626,12 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn, else if(conn->bits.authneg && /* while doing auth neg, don't allow the custom length since we will force length zero then */ checkprefix("Content-Length", headers->data)) checkprefix("Content-Length:", headers->data)) ; else if(conn->allocptr.te && /* when asking for Transfer-Encoding, don't pass on a custom Connection: */ checkprefix("Connection", headers->data)) checkprefix("Connection:", headers->data)) ; else if((conn->httpversion == 20) && checkprefix("Transfer-Encoding:", headers->data)) Loading Loading @@ -1664,6 +1664,10 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn, *ptr = ':'; result = Curl_add_bufferf(req_buffer, "%s\r\n", headers->data); /* restore the previous value */ *ptr = ';'; if(result) return result; } Loading
tests/data/test4 +9 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ http Replaced internal and added custom HTTP headers </name> <command> -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/4 -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://%HOSTIP:%HTTPPORT/4 http://%HOSTIP:%HTTPPORT/4 </command> </client> Loading @@ -49,6 +49,14 @@ X-Custom-Header: X-Test: foo; X-Test2: foo; GET /4 HTTP/1.1 Host: %HOSTIP:%HTTPPORT extra-header: here Accept: replaced X-Custom-Header: X-Test: foo; X-Test2: foo; </protocol> </verify> </testcase>