diff options
author | Jeff King <peff@peff.net> | 2013-09-28 04:32:02 -0400 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2013-10-14 16:55:23 -0700 |
commit | 78868962c03e5bdddad5c5d02c1d5a0c72a7ac26 (patch) | |
tree | 9a2c181a6543de8068494c34d6bb05a23fb7c2f3 /http.c | |
parent | 2501aff8b7516115c409cb34cc50305cdde40a47 (diff) | |
download | git-78868962c03e5bdddad5c5d02c1d5a0c72a7ac26.tar.gz git-78868962c03e5bdddad5c5d02c1d5a0c72a7ac26.tar.xz |
http: provide effective url to callers
When we ask curl to access a URL, it may follow one or more
redirects to reach the final location. We have no idea
this has happened, as curl takes care of the details and
simply returns the final content to us.
The final URL that we ended up with can be accessed via
CURLINFO_EFFECTIVE_URL. Let's make that optionally available
to callers of http_get_*, so that they can make further
decisions based on the redirection.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'http.c')
-rw-r--r-- | http.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -894,6 +894,10 @@ static int http_request(const char *url, curlinfo_strbuf(slot->curl, CURLINFO_CONTENT_TYPE, options->content_type); + if (options && options->effective_url) + curlinfo_strbuf(slot->curl, CURLINFO_EFFECTIVE_URL, + options->effective_url); + curl_slist_free_all(headers); strbuf_release(&buf); |