diff options
author | Daniel Stenberg <daniel@haxx.se> | 2001-04-10 06:49:32 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2001-04-10 06:49:32 +0000 |
commit | 025fa762f644c9c1438c6669c4fe3e1800a112b5 (patch) | |
tree | 80061af2fca5277f748f7b8ca4d0afc3042ede6e /lib | |
parent | ac510ab6a4bd4dbce0db069d73952ac01ddc2647 (diff) |
Added new CURLOPT_HEADERFUNCTION callback for writing headers only
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sendf.c | 9 | ||||
-rw-r--r-- | lib/urldata.h | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/sendf.c b/lib/sendf.c index 868aa887a..25ccb926d 100644 --- a/lib/sendf.c +++ b/lib/sendf.c @@ -236,7 +236,14 @@ CURLcode Curl_client_write(struct UrlData *data, } } if((type & CLIENTWRITE_HEADER) && data->writeheader) { - wrote = data->fwrite(ptr, 1, len, data->writeheader); + /* + * Write headers to the same callback or to the especially setup + * header callback function (added after version 7.7.1). + */ + curl_write_callback writeit= + data->fwrite_header?data->fwrite_header:data->fwrite; + + wrote = writeit(ptr, 1, len, data->writeheader); if(wrote != len) { failf (data, "Failed writing header"); return CURLE_WRITE_ERROR; diff --git a/lib/urldata.h b/lib/urldata.h index aef8435c4..5c019946f 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -485,6 +485,9 @@ struct UrlData { /* function that stores the output:*/ curl_write_callback fwrite; + /* optional function that stores the header output:*/ + curl_write_callback fwrite_header; + /* function that reads the input:*/ curl_read_callback fread; |