From 80ee25434d076b87d1a34e2dee467600013ae4ee Mon Sep 17 00:00:00 2001 From: Matt Burke Date: Tue, 8 Sep 2015 13:38:22 -0400 Subject: Teach winhttp about the extra headers --- src/transports/winhttp.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/transports/winhttp.c b/src/transports/winhttp.c index 0c43c4b0b..d28762db1 100644 --- a/src/transports/winhttp.c +++ b/src/transports/winhttp.c @@ -409,6 +409,23 @@ static int winhttp_stream_connect(winhttp_stream *s) } } + if (t->owner->custom_headers) { + for (i = 0; i < t->owner->custom_headers->count; i++) { + git_buf_clear(&buf); + git_buf_puts(&buf, t->owner->custom_headers->strings[i]); + if (git__utf8_to_16(ct, MAX_CONTENT_TYPE_LEN, git_buf_cstr(&buf)) < 0) { + giterr_set(GITERR_OS, "Failed to convert custom header to wide characters"); + goto on_error; + } + + if (!WinHttpAddRequestHeaders(s->request, ct, (ULONG)-1L, + WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE)) { + giterr_set(GITERR_OS, "Failed to add a header to the request"); + goto on_error; + } + } + } + /* If requested, disable certificate validation */ if (t->connection_data.use_ssl) { int flags; -- cgit v1.2.1