http-push.c::remote_exists(): use the new http API
Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0d5896e1cc
commit
446b941a57
31
http-push.c
31
http-push.c
@ -2004,29 +2004,22 @@ static void update_remote_info_refs(struct remote_lock *lock)
|
||||
static int remote_exists(const char *path)
|
||||
{
|
||||
char *url = xmalloc(strlen(repo->url) + strlen(path) + 1);
|
||||
struct active_request_slot *slot;
|
||||
struct slot_results results;
|
||||
int ret = -1;
|
||||
int ret;
|
||||
|
||||
sprintf(url, "%s%s", repo->url, path);
|
||||
|
||||
slot = get_active_slot();
|
||||
slot->results = &results;
|
||||
curl_easy_setopt(slot->curl, CURLOPT_URL, url);
|
||||
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 1);
|
||||
|
||||
if (start_active_slot(slot)) {
|
||||
run_active_slot(slot);
|
||||
if (results.http_code == 404)
|
||||
ret = 0;
|
||||
else if (results.curl_result == CURLE_OK)
|
||||
ret = 1;
|
||||
else
|
||||
fprintf(stderr, "HEAD HTTP error %ld\n", results.http_code);
|
||||
} else {
|
||||
fprintf(stderr, "Unable to start HEAD request\n");
|
||||
switch (http_get_strbuf(url, NULL, 0)) {
|
||||
case HTTP_OK:
|
||||
ret = 1;
|
||||
break;
|
||||
case HTTP_MISSING_TARGET:
|
||||
ret = 0;
|
||||
break;
|
||||
case HTTP_ERROR:
|
||||
http_error(url, HTTP_ERROR);
|
||||
default:
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
free(url);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user