summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http.c4
-rw-r--r--http.h6
2 files changed, 10 insertions, 0 deletions
diff --git a/http.c b/http.c
index 5703074d95..1569c56108 100644
--- a/http.c
+++ b/http.c
@@ -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);
diff --git a/http.h b/http.h
index 17116abc57..974ede7736 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_*() */