diff options
author | warp kawada <warp.kawada@gmail.com> | 2011-09-08 15:39:39 -0700 |
---|---|---|
committer | Dan Fandrich <dan@coneharvesters.com> | 2011-09-13 16:17:21 -0700 |
commit | aff70e2e9534eecb9e756d2104efa52e5d8b0462 (patch) | |
tree | 86069726bec4662e6788a5e76814eacf6c0a55f1 /lib | |
parent | 6790a543d4b692e0f62971804606fdcbcf84a292 (diff) |
Curl_add_custom_headers: support headers with no data
A custom HTTP header ending in a semicolon instead of a colon
will be treated as a header to be added without any data
portion.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/http.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/http.c b/lib/http.c index b67329649..993900617 100644 --- a/lib/http.c +++ b/lib/http.c @@ -1559,6 +1559,31 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn, } } } + else { + ptr = strchr(headers->data, ';'); + if(ptr) { + + ptr++; /* pass the semicolon */ + while(*ptr && ISSPACE(*ptr)) + ptr++; + + if(*ptr) { + /* this may be used for something else in the future */ + } + else { + if(*(--ptr) == ';') { + CURLcode result; + + /* send no-value custom header if terminated by semicolon */ + *ptr = ':'; + result = Curl_add_bufferf(req_buffer, "%s\r\n", + headers->data); + if(result) + return result; + } + } + } + } headers = headers->next; } return CURLE_OK; |