Add more headers to HTTP requests
diff --git a/src/transports/http.c b/src/transports/http.c
index 87f3ee8..f9e5da2 100644
--- a/src/transports/http.c
+++ b/src/transports/http.c
@@ -54,6 +54,7 @@ typedef struct {
char *redirect_url;
const char *verb;
char *chunk_buffer;
+ git_strarray *extra_headers;
unsigned chunk_buffer_len;
unsigned sent_request : 1,
received_response : 1,
@@ -193,6 +194,7 @@ static int gen_request(
{
http_subtransport *t = OWNING_SUBTRANSPORT(s);
const char *path = t->connection_data.path ? t->connection_data.path : "/";
+ size_t i;
git_buf_printf(buf, "%s %s%s HTTP/1.1\r\n", s->verb, path, s->service_url);
@@ -210,6 +212,13 @@ static int gen_request(
} else
git_buf_puts(buf, "Accept: */*\r\n");
+ if (s->extra_headers) {
+ for (i = 0; i < s->extra_headers->count; i++) {
+ git_buf_puts(buf, s->extra_headers->strings[i]);
+ git_buf_puts(buf, "\r\n");
+ }
+ }
+
/* Apply credentials to the request */
if (apply_credentials(buf, t) < 0)
return -1;