From 025fa762f644c9c1438c6669c4fe3e1800a112b5 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 10 Apr 2001 06:49:32 +0000 Subject: Added new CURLOPT_HEADERFUNCTION callback for writing headers only --- lib/sendf.c | 9 ++++++++- lib/urldata.h | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'lib') 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; -- cgit v1.2.3