diff options
author | Mike Hommey <mh@glandium.org> | 2008-02-27 21:35:50 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-27 15:37:57 -0800 |
commit | 9fc6440d783ca773353880aa97c23ed9c640d3c0 (patch) | |
tree | 44f9a25443a6f1a359bc4928934591dec6e5f047 /transport.c | |
parent | 81fa145917c40b68a5e2cca6afc6a10cdfdbd25b (diff) | |
download | git-9fc6440d783ca773353880aa97c23ed9c640d3c0.tar.gz git-9fc6440d783ca773353880aa97c23ed9c640d3c0.tar.xz |
Set proxy override with http_init()
In transport.c, proxy setting (the one from the remote conf) was set through
curl_easy_setopt() call, while http.c already does the same with the
http.proxy setting. We now just use this infrastructure instead, and make
http_init() now take the struct remote as argument so that it can take the
http_proxy setting from there, and any other property that would be added
later.
At the same time, we make get_http_walker() take a struct remote argument
too, and pass it to http_init(), which makes remote defined proxy be used
for more than get_refs_via_curl().
We leave out http-fetch and http-push, which don't use remotes for the
moment, purposefully.
Signed-off-by: Mike Hommey <mh@glandium.org>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'transport.c')
-rw-r--r-- | transport.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/transport.c b/transport.c index 497f85372..97c59dce6 100644 --- a/transport.c +++ b/transport.c @@ -442,7 +442,8 @@ static struct ref *get_refs_via_curl(struct transport *transport) struct ref *last_ref = NULL; if (!transport->data) - transport->data = get_http_walker(transport->url); + transport->data = get_http_walker(transport->url, + transport->remote); refs_url = xmalloc(strlen(transport->url) + 11); sprintf(refs_url, "%s/info/refs", transport->url); @@ -453,9 +454,6 @@ static struct ref *get_refs_via_curl(struct transport *transport) curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, fwrite_buffer); curl_easy_setopt(slot->curl, CURLOPT_URL, refs_url); curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, NULL); - if (transport->remote->http_proxy) - curl_easy_setopt(slot->curl, CURLOPT_PROXY, - transport->remote->http_proxy); if (start_active_slot(slot)) { run_active_slot(slot); @@ -509,7 +507,8 @@ static int fetch_objs_via_curl(struct transport *transport, int nr_objs, struct ref **to_fetch) { if (!transport->data) - transport->data = get_http_walker(transport->url); + transport->data = get_http_walker(transport->url, + transport->remote); return fetch_objs_via_walker(transport, nr_objs, to_fetch); } |