| Server IP : 23.111.136.34 / Your IP : 216.73.216.136 Web Server : Apache System : Linux servidor.eurohost.com.br 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : meusitei ( 1072) PHP Version : 5.6.40 Disable Function : show_source, system, shell_exec, passthru, proc_open MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/alt/python35/lib64/python3.5/site-packages/aiohttp/ |
Upload File : |
"""Low level HTTP server."""
import asyncio
from .web_protocol import RequestHandler
from .web_request import BaseRequest
__all__ = ('Server',)
class Server:
def __init__(self, handler, *, request_factory=None, loop=None, **kwargs):
if loop is None:
loop = asyncio.get_event_loop()
self._loop = loop
self._connections = {}
self._kwargs = kwargs
self.requests_count = 0
self.request_handler = handler
self.request_factory = request_factory or self._make_request
@property
def connections(self):
return list(self._connections.keys())
def connection_made(self, handler, transport):
self._connections[handler] = transport
def connection_lost(self, handler, exc=None):
if handler in self._connections:
del self._connections[handler]
def _make_request(self, message, payload, protocol, writer, task):
return BaseRequest(
message, payload, protocol, writer, task, self._loop)
async def shutdown(self, timeout=None):
coros = [conn.shutdown(timeout) for conn in self._connections]
await asyncio.gather(*coros, loop=self._loop)
self._connections.clear()
def __call__(self):
return RequestHandler(self, loop=self._loop, **self._kwargs)