module documentation

aiohttp client/server support.

Function create_repo_app Create an aiohttp application for serving a git repository.
Async Function get_index_file Handle request for a pack index file.
Async Function get_info_packs Handle request for /info/packs.
Async Function get_info_refs Handle request for /info/refs.
Async Function get_loose_object Handle request for a loose object.
Async Function get_pack_file Handle request for a pack file.
Async Function get_text_file Handle request for a text file.
Async Function handle_service_request Handle a service request endpoint.
Function main Entry point for starting an HTTP git server.
Async Function refs_request Handle a refs request.
Async Function send_file Send a file-like object to the request output.
Async Function service_request Handle a git service request (upload-pack or receive-pack).
Constant DUMB_KEY Undocumented
Constant HANDLERS_KEY Undocumented
Constant REPO_KEY Undocumented
Variable logger Undocumented
def create_repo_app(repo: Repo, handlers: dict[bytes, type] | None = None, dumb: bool = False) -> web.Application:

Create an aiohttp application for serving a git repository.

Returns: Configured aiohttp Application

Parameters
repo:RepoRepository object to serve
handlers:dict[bytes, type] | NoneOptional dict of service handlers
dumb:boolWhether to enable dumb HTTP protocol support
Returns
web.ApplicationUndocumented
async def get_index_file(request: web.Request) -> web.StreamResponse:

Handle request for a pack index file.

Returns: Response with the pack index file data

Parameters
request:web.Requestaiohttp request object
Returns
web.StreamResponseUndocumented
async def get_info_packs(request: web.Request) -> web.Response:

Handle request for /info/packs.

Returns: Response with pack information

Parameters
request:web.Requestaiohttp request object
Returns
web.ResponseUndocumented
async def get_info_refs(request: web.Request) -> web.StreamResponse | web.Response:

Handle request for /info/refs.

Returns: Response with refs information

Parameters
request:web.Requestaiohttp request object
Returns
web.StreamResponse | web.ResponseUndocumented
async def get_loose_object(request: web.Request) -> web.Response:

Handle request for a loose object.

Returns: Response with the loose object data

Parameters
request:web.Requestaiohttp request object
Returns
web.ResponseUndocumented
async def get_pack_file(request: web.Request) -> web.StreamResponse:

Handle request for a pack file.

Returns: Response with the pack file data

Parameters
request:web.Requestaiohttp request object
Returns
web.StreamResponseUndocumented
async def get_text_file(request: web.Request) -> web.StreamResponse:

Handle request for a text file.

Returns: Response with the text file contents

Parameters
request:web.Requestaiohttp request object
Returns
web.StreamResponseUndocumented
async def handle_service_request(request: web.Request) -> web.StreamResponse:

Handle a service request endpoint.

Returns: Response with service result

Parameters
request:web.Requestaiohttp request object
Returns
web.StreamResponseUndocumented
def main(argv: list[str] | None = None):

Entry point for starting an HTTP git server.

async def refs_request(repo: Repo, request: web.Request, handlers: dict[bytes, type] | None = None) -> web.StreamResponse | web.Response:

Handle a refs request.

Returns: Response with refs information

Parameters
repo:RepoRepository object
request:web.Requestaiohttp request object
handlers:dict[bytes, type] | NoneOptional dict of service handlers
Returns
web.StreamResponse | web.ResponseUndocumented
async def send_file(req: web.Request, f: BinaryIO | None, headers: dict[str, str]) -> web.StreamResponse:

Send a file-like object to the request output.

Returns: Iterator over the contents of the file, as chunks.

Parameters
req:web.RequestThe HTTPGitRequest object to send output to.
f:BinaryIO | NoneAn open file-like object to send; will be closed.
headers:dict[str, str]Headers to send
Returns
web.StreamResponseUndocumented
async def service_request(repo: Repo, request: web.Request, handlers: dict[bytes, type] | None = None) -> web.StreamResponse:

Handle a git service request (upload-pack or receive-pack).

Returns: Response with service result

Parameters
repo:RepoRepository object
request:web.Requestaiohttp request object
handlers:dict[bytes, type] | NoneOptional dict of service handlers
Returns
web.StreamResponseUndocumented
DUMB_KEY =

Undocumented

Value
web.AppKey('dumb', bool)
HANDLERS_KEY =

Undocumented

Value
web.AppKey('handlers', dict)
REPO_KEY =

Undocumented

Value
web.AppKey('repo', Repo)
logger =

Undocumented