def connection_made(self, transport: asyncio.BaseTransport) -> None: super().connection_made(transport) assert isinstance(transport, asyncio.Transport) transport.write(b"HTTP/1.1 200 OK\r\nContent-Length: 13\r\n\r\nHello,") transport.close()
async def __call__(self, request: panic_request.Request, response_callback: typing.Any, transport: asyncio.BaseTransport = None) -> typing.Any: try: uri_route = self._panic.router.request(request.method, request.url) except panic_exceptions.NotFound as err: if WWW_DEBUG: response = panic_response.text( f'Method[{request.method}] and Route[{request.url}] does not exist', status=500) else: response = panic_response.text('Service Error', status=500) response_callback(response) return None if uri_route.streamable: raise NotImplementedError if uri_route.method is panic_datatypes.HTTPMethod.channel: while True: response = await uri_route.handler(request, response_callback) if response in [0]: break await response_callback.close() transport.close() elif uri_route.awaitable: try: response = await uri_route.handler(request) except Exception as err: try: if inspect.iscoroutinefunction( self._panic.exception_handler): response = self._panic.exception_handler(request, err) else: response = self._panic.exception_handler(request, err) except Exception as errZero: if self._panic.params.debug: response = panic_response.text( f'Error[{errZero}] while handling error[{err}]', status=500) else: response = panic_response.text('Internal Error', status=500) response_callback(response) else: raise NotImplementedError