async def run( # type: ignore self, # app host: str = "127.0.0.1", port: int = 5000, debug: Optional[bool] = None, ca_certs: Optional[str] = None, certfile: Optional[str] = None, keyfile: Optional[str] = None, **kwargs: Any, ) -> None: """Run this application. """ config = HyperConfig() config.access_log_format = "%(h)s %(r)s %(s)s %(b)s %(D)s" config.access_logger = create_serving_logger() # type: ignore config.bind = [f"{host}:{port}"] config.ca_certs = ca_certs config.certfile = certfile # if debug is not None: # config.debug = debug config.error_logger = config.access_logger # type: ignore config.keyfile = keyfile config.use_reloader = False scheme = "http" if config.ssl_enabled is None else "https" await hyper_serve(self, config)
def run_http_app(app, host, port): from hypercorn.config import Config as HyperConfig from hypercorn.asyncio import serve from quart.logging import create_serving_logger config = HyperConfig() config.access_log_format = "%(h)s %(r)s %(s)s %(b)s %(D)s" config.access_logger = create_serving_logger() # type: ignore config.bind = [f"{host}:{port}"] config.ca_certs = None config.certfile = None # config.debug = True config.error_logger = config.access_logger # type: ignore config.keyfile = None config.use_reloader = False scheme = 'https' if config.ssl_enabled else 'http' print("Listening on {}://{}".format(scheme, config.bind[0])) return serve(app, config)
async def run (self) -> None: """ Run this application. This is a simple Hypercorn runner. You should probably use something more elaborate in a production setting. """ config = HyperConfig() cfg = self.cfg.server config.access_log_format = "%(h)s %(r)s %(s)s %(b)s %(D)s" config.access_logger = create_serving_logger() # type: ignore config.bind = [f"{cfg.host}:{cfg.port}"] config.ca_certs = cfg.ca_certs config.certfile = cfg.certfile # if debug is not None: # config.debug = debug config.error_logger = config.access_logger # type: ignore config.keyfile = cfg.keyfile config.use_reloader = cfg.use_reloader scheme = "http" if config.ssl_enabled is None else "https" async with trio.open_nursery() as n: self.main = n await hyper_serve(self.app, config)