Commit 59d6128e by Matt Burke

Allow the world to set HTTP headers for remotes

parent ac9b5127
...@@ -230,6 +230,9 @@ GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote); ...@@ -230,6 +230,9 @@ GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote);
*/ */
GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n); GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n);
GIT_EXTERN(int) git_remote_extra_http_headers(const git_remote *remote, git_strarray *extra_http_headers);
GIT_EXTERN(int) git_remote_set_extra_http_headers(git_remote *remote, const git_strarray extra_http_headers);
/** /**
* Open a connection to a remote * Open a connection to a remote
* *
......
...@@ -1643,7 +1643,7 @@ void git_remote_free(git_remote *remote) ...@@ -1643,7 +1643,7 @@ void git_remote_free(git_remote *remote)
free_refspecs(&remote->passive_refspecs); free_refspecs(&remote->passive_refspecs);
git_vector_free(&remote->passive_refspecs); git_vector_free(&remote->passive_refspecs);
git__free(remote->extra_http_headers); git_strarray_free(&remote->extra_http_headers);
git_push_free(remote->push); git_push_free(remote->push);
git__free(remote->url); git__free(remote->url);
...@@ -2154,6 +2154,16 @@ size_t git_remote_refspec_count(const git_remote *remote) ...@@ -2154,6 +2154,16 @@ size_t git_remote_refspec_count(const git_remote *remote)
return remote->refspecs.length; return remote->refspecs.length;
} }
int git_remote_extra_http_headers(const git_remote *remote, git_strarray *extra_http_headers)
{
return git_strarray_copy(extra_http_headers, &remote->extra_http_headers);
}
int git_remote_set_extra_http_headers(git_remote *remote, const git_strarray extra_http_headers)
{
return git_strarray_copy(&remote->extra_http_headers, &extra_http_headers);
}
const git_refspec *git_remote_get_refspec(const git_remote *remote, size_t n) const git_refspec *git_remote_get_refspec(const git_remote *remote, size_t n)
{ {
return git_vector_get(&remote->refspecs, n); return git_vector_get(&remote->refspecs, n);
......
...@@ -32,7 +32,7 @@ struct git_remote { ...@@ -32,7 +32,7 @@ struct git_remote {
git_remote_autotag_option_t download_tags; git_remote_autotag_option_t download_tags;
int prune_refs; int prune_refs;
int passed_refspecs; int passed_refspecs;
git_strarray *extra_http_headers; git_strarray extra_http_headers;
}; };
const char* git_remote__urlfordirection(struct git_remote *remote, int direction); const char* git_remote__urlfordirection(struct git_remote *remote, int direction);
......
...@@ -974,7 +974,7 @@ static int http_action( ...@@ -974,7 +974,7 @@ static int http_action(
if ((!t->connection_data.host || !t->connection_data.port || !t->connection_data.path) && if ((!t->connection_data.host || !t->connection_data.port || !t->connection_data.path) &&
(ret = gitno_connection_data_from_url(&t->connection_data, url, NULL)) < 0) (ret = gitno_connection_data_from_url(&t->connection_data, url, NULL)) < 0)
return ret; return ret;
t->connection_data.extra_headers = t->owner->owner->extra_http_headers; t->connection_data.extra_headers = &t->owner->owner->extra_http_headers;
if ((ret = http_connect(t)) < 0) if ((ret = http_connect(t)) < 0)
return ret; return ret;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment