From 9fc6440d783ca773353880aa97c23ed9c640d3c0 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Wed, 27 Feb 2008 21:35:50 +0100 Subject: 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 Acked-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- transport.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'transport.c') diff --git a/transport.c b/transport.c index 497f853721..97c59dce60 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); } -- cgit v1.2.1