SILENT KILLERPanel

Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > > site-packages > aiohttp


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/cloudlinux/venv/lib64/python3.11//site-packages/aiohttp

NameTypeSizeLast ModifiedActions
.hash Directory - -
__pycache__ Directory - -
__init__.py File 7762 bytes April 17 2025 13:10:59.
_cparser.pxd File 4318 bytes April 17 2025 13:10:59.
_find_header.pxd File 68 bytes April 17 2025 13:10:59.
_headers.pxi File 2007 bytes April 17 2025 13:10:59.
_helpers.cpython-311-x86_64-linux-gnu.so File 88072 bytes April 17 2025 13:11:30.
_helpers.pyi File 202 bytes April 17 2025 13:10:59.
_helpers.pyx File 1049 bytes April 17 2025 13:10:59.
_http_parser.cpython-311-x86_64-linux-gnu.so File 583264 bytes April 17 2025 13:11:30.
_http_parser.pyx File 28058 bytes April 17 2025 13:10:59.
_http_writer.cpython-311-x86_64-linux-gnu.so File 76808 bytes April 17 2025 13:11:30.
_http_writer.pyx File 4575 bytes April 17 2025 13:10:59.
_websocket.cpython-311-x86_64-linux-gnu.so File 54648 bytes April 17 2025 13:11:30.
_websocket.pyx File 1561 bytes April 17 2025 13:10:59.
abc.py File 5500 bytes April 17 2025 13:10:59.
base_protocol.py File 2741 bytes April 17 2025 13:10:59.
client.py File 47276 bytes April 17 2025 13:10:59.
client_exceptions.py File 9411 bytes April 17 2025 13:10:59.
client_proto.py File 8651 bytes April 17 2025 13:10:59.
client_reqrep.py File 39680 bytes April 17 2025 13:10:59.
client_ws.py File 11010 bytes April 17 2025 13:10:59.
compression_utils.py File 5015 bytes April 17 2025 13:10:59.
connector.py File 52798 bytes April 17 2025 13:10:59.
cookiejar.py File 14015 bytes April 17 2025 13:10:59.
formdata.py File 6106 bytes April 17 2025 13:10:59.
hdrs.py File 4613 bytes April 17 2025 13:10:59.
helpers.py File 30255 bytes April 17 2025 13:10:59.
http.py File 1842 bytes April 17 2025 13:10:59.
http_exceptions.py File 2716 bytes April 17 2025 13:10:59.
http_parser.py File 35496 bytes April 17 2025 13:10:59.
http_websocket.py File 26716 bytes April 17 2025 13:10:59.
http_writer.py File 5933 bytes April 17 2025 13:10:59.
locks.py File 1136 bytes April 17 2025 13:10:59.
log.py File 325 bytes April 17 2025 13:10:59.
multipart.py File 32472 bytes April 17 2025 13:10:59.
payload.py File 13542 bytes April 17 2025 13:10:59.
payload_streamer.py File 2087 bytes April 17 2025 13:10:59.
py.typed File 7 bytes April 17 2025 13:10:59.
pytest_plugin.py File 11605 bytes April 17 2025 13:10:59.
resolver.py File 5070 bytes April 17 2025 13:10:59.
streams.py File 20836 bytes April 17 2025 13:10:59.
tcp_helpers.py File 961 bytes April 17 2025 13:10:59.
test_utils.py File 20185 bytes April 17 2025 13:10:59.
tracing.py File 15132 bytes April 17 2025 13:10:59.
typedefs.py File 1471 bytes April 17 2025 13:10:59.
web.py File 19263 bytes April 17 2025 13:10:59.
web_app.py File 18311 bytes April 17 2025 13:10:59.
web_exceptions.py File 10360 bytes April 17 2025 13:10:59.
web_fileresponse.py File 11416 bytes April 17 2025 13:10:59.
web_log.py File 7801 bytes April 17 2025 13:10:59.
web_middlewares.py File 4032 bytes April 17 2025 13:10:59.
web_protocol.py File 23044 bytes April 17 2025 13:10:59.
web_request.py File 28756 bytes April 17 2025 13:10:59.
web_response.py File 27729 bytes April 17 2025 13:10:59.
web_routedef.py File 6132 bytes April 17 2025 13:10:59.
web_runner.py File 11736 bytes April 17 2025 13:10:59.
web_server.py File 2587 bytes April 17 2025 13:10:59.
web_urldispatcher.py File 40057 bytes April 17 2025 13:10:59.
web_ws.py File 18647 bytes April 17 2025 13:10:59.
worker.py File 7965 bytes April 17 2025 13:10:59.

Reading File: //opt/cloudlinux/venv/lib64/python3.11//site-packages/aiohttp/web_server.py

"""Low level HTTP server."""
import asyncio
from typing import Any, Awaitable, Callable, Dict, List, Optional  # noqa

from .abc import AbstractStreamWriter
from .helpers import get_running_loop
from .http_parser import RawRequestMessage
from .streams import StreamReader
from .web_protocol import RequestHandler, _RequestFactory, _RequestHandler
from .web_request import BaseRequest

__all__ = ("Server",)


class Server:
    def __init__(
        self,
        handler: _RequestHandler,
        *,
        request_factory: Optional[_RequestFactory] = None,
        handler_cancellation: bool = False,
        loop: Optional[asyncio.AbstractEventLoop] = None,
        **kwargs: Any
    ) -> None:
        self._loop = get_running_loop(loop)
        self._connections: Dict[RequestHandler, asyncio.Transport] = {}
        self._kwargs = kwargs
        self.requests_count = 0
        self.request_handler = handler
        self.request_factory = request_factory or self._make_request
        self.handler_cancellation = handler_cancellation

    @property
    def connections(self) -> List[RequestHandler]:
        return list(self._connections.keys())

    def connection_made(
        self, handler: RequestHandler, transport: asyncio.Transport
    ) -> None:
        self._connections[handler] = transport

    def connection_lost(
        self, handler: RequestHandler, exc: Optional[BaseException] = None
    ) -> None:
        if handler in self._connections:
            del self._connections[handler]

    def _make_request(
        self,
        message: RawRequestMessage,
        payload: StreamReader,
        protocol: RequestHandler,
        writer: AbstractStreamWriter,
        task: "asyncio.Task[None]",
    ) -> BaseRequest:
        return BaseRequest(message, payload, protocol, writer, task, self._loop)

    def pre_shutdown(self) -> None:
        for conn in self._connections:
            conn.close()

    async def shutdown(self, timeout: Optional[float] = None) -> None:
        coros = (conn.shutdown(timeout) for conn in self._connections)
        await asyncio.gather(*coros)
        self._connections.clear()

    def __call__(self) -> RequestHandler:
        try:
            return RequestHandler(self, loop=self._loop, **self._kwargs)
        except TypeError:
            # Failsafe creation: remove all custom handler_args
            kwargs = {
                k: v
                for k, v in self._kwargs.items()
                if k in ["debug", "access_log_class"]
            }
            return RequestHandler(self, loop=self._loop, **kwargs)

SILENT KILLER Tool