MCPcopy Index your code
hub / github.com/git/git / finish_request

Function finish_request

http-push.c:525–616  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

523}
524
525static void finish_request(struct transfer_request *request)
526{
527 struct http_pack_request *preq;
528 struct http_object_request *obj_req;
529
530 request->curl_result = request->slot->curl_result;
531 request->http_code = request->slot->http_code;
532 request->slot = NULL;
533
534 /* Keep locks active */
535 check_locks();
536
537 if (request->headers)
538 curl_slist_free_all(request->headers);
539
540 /* URL is reused for MOVE after PUT and used during FETCH */
541 if (request->state != RUN_PUT && request->state != RUN_FETCH_PACKED) {
542 FREE_AND_NULL(request->url);
543 }
544
545 if (request->state == RUN_MKCOL) {
546 if (request->curl_result == CURLE_OK ||
547 request->http_code == 405) {
548 remote_dir_exists[request->obj->oid.hash[0]] = 1;
549 start_put(request);
550 } else {
551 fprintf(stderr, "MKCOL %s failed, aborting (%d/%ld)\n",
552 oid_to_hex(&request->obj->oid),
553 request->curl_result, request->http_code);
554 request->state = ABORTED;
555 aborted = 1;
556 }
557 } else if (request->state == RUN_PUT) {
558 if (request->curl_result == CURLE_OK) {
559 start_move(request);
560 } else {
561 fprintf(stderr, "PUT %s failed, aborting (%d/%ld)\n",
562 oid_to_hex(&request->obj->oid),
563 request->curl_result, request->http_code);
564 request->state = ABORTED;
565 aborted = 1;
566 }
567 } else if (request->state == RUN_MOVE) {
568 if (request->curl_result == CURLE_OK) {
569 if (push_verbosely)
570 fprintf(stderr, " sent %s\n",
571 oid_to_hex(&request->obj->oid));
572 request->obj->flags |= REMOTE;
573 release_request(request);
574 } else {
575 fprintf(stderr, "MOVE %s failed, aborting (%d/%ld)\n",
576 oid_to_hex(&request->obj->oid),
577 request->curl_result, request->http_code);
578 request->state = ABORTED;
579 aborted = 1;
580 }
581 } else if (request->state == RUN_FETCH_LOOSE) {
582 obj_req = (struct http_object_request *)request->userData;

Callers 1

process_responseFunction · 0.85

Calls 11

check_locksFunction · 0.85
start_putFunction · 0.85
oid_to_hexFunction · 0.85
start_moveFunction · 0.85
release_requestFunction · 0.85
start_fetch_packedFunction · 0.85
finish_http_pack_requestFunction · 0.85
http_install_packfileFunction · 0.85

Tested by

no test coverage detected