def METHOD_NAME(request, obj, git_request):
    """Git HTTP backend execution wrapper."""
    # Find Git HTTP backend
    git_http_backend = find_git_http_backend()
    if git_http_backend is None:
        return HttpResponseServerError("git-http-backend not found")
    # Invoke Git HTTP backend
    query = request.META.get("QUERY_STRING", "")
    process_env = {
        "REQUEST_METHOD": request.method,
        "PATH_TRANSLATED": os.path.join(obj.full_path, git_request),
        "GIT_HTTP_EXPORT_ALL": "1",
        "CONTENT_TYPE": request.headers.get("content-type", ""),
        "QUERY_STRING": query,
        "HTTP_CONTENT_ENCODING": request.headers.get("content-encoding", ""),
    }
    process = subprocess.Popen(
        [git_http_backend],
        env=process_env,
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
    )
    output, output_err = process.communicate(request.body)
    retcode = process.poll()
    # Log error
    if output_err:
        output_err = output_err.decode()
        report_error(
            cause="Git backend failure",
            project=obj.project,
            level="error",
            message=True,
        )
    # Handle failure
    if retcode:
        return HttpResponseServerError(output_err)
    headers, content = output.split(b"\r\n\r\n", 1)
    message = message_from_string(headers.decode())
    # Handle status in response
    if "status" in message:
        return HttpResponse(status=int(message["status"].split()[0]))
    # Send content
    response = HttpResponse(content_type=message["content-type"])
    response.write(content)
    return response