http: allow providing extra headers for http requests
Add a way for callers to request that extra headers be included when making http requests. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
49e85e9500
commit
8ff14ed412
8
http.c
8
http.c
|
@ -1723,6 +1723,14 @@ static int http_request(const char *url,
|
|||
|
||||
headers = curl_slist_append(headers, buf.buf);
|
||||
|
||||
/* Add additional headers here */
|
||||
if (options && options->extra_headers) {
|
||||
const struct string_list_item *item;
|
||||
for_each_string_list_item(item, options->extra_headers) {
|
||||
headers = curl_slist_append(headers, item->string);
|
||||
}
|
||||
}
|
||||
|
||||
curl_easy_setopt(slot->curl, CURLOPT_URL, url);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, headers);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "gzip");
|
||||
|
|
7
http.h
7
http.h
|
@ -172,6 +172,13 @@ struct http_get_options {
|
|||
* for details.
|
||||
*/
|
||||
struct strbuf *base_url;
|
||||
|
||||
/*
|
||||
* If not NULL, contains additional HTTP headers to be sent with the
|
||||
* request. The strings in the list must not be freed until after the
|
||||
* request has completed.
|
||||
*/
|
||||
struct string_list *extra_headers;
|
||||
};
|
||||
|
||||
/* Return values for http_get_*() */
|
||||
|
|
Loading…
Reference in New Issue