summaryrefslogtreecommitdiff
path: root/http.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2013-09-28 08:32:02 (GMT)
committerJonathan Nieder <jrnieder@gmail.com>2013-10-14 23:55:23 (GMT)
commit78868962c03e5bdddad5c5d02c1d5a0c72a7ac26 (patch)
tree9a2c181a6543de8068494c34d6bb05a23fb7c2f3 /http.h
parent2501aff8b7516115c409cb34cc50305cdde40a47 (diff)
downloadgit-78868962c03e5bdddad5c5d02c1d5a0c72a7ac26.zip
git-78868962c03e5bdddad5c5d02c1d5a0c72a7ac26.tar.gz
git-78868962c03e5bdddad5c5d02c1d5a0c72a7ac26.tar.bz2
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.h')
-rw-r--r--http.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/http.h b/http.h
index 17116ab..974ede7 100644
--- a/http.h
+++ b/http.h
@@ -133,6 +133,12 @@ struct http_get_options {
/* If non-NULL, returns the content-type of the response. */
struct strbuf *content_type;
+
+ /*
+ * If non-NULL, returns the URL we ended up at, including any
+ * redirects we followed.
+ */
+ struct strbuf *effective_url;
};
/* Return values for http_get_*() */