summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Burke <spraints@gmail.com>2015-09-04 08:56:26 -0400
committerMatt Burke <spraints@gmail.com>2015-09-04 09:01:30 -0400
commitc3733e56410d5bc73fcca0df8e062f84a0565f90 (patch)
tree6a60f01a04da5c65deb1b55861c42d48b6dc767e
parent1cef6b9f190587a78c65bd3168879be3eb37e0fb (diff)
downloadlibgit2-c3733e56410d5bc73fcca0df8e062f84a0565f90.tar.gz
Add more headers to HTTP requests
-rw-r--r--src/transports/http.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/transports/http.c b/src/transports/http.c
index 87f3ee816..f9e5da2b1 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;