2023-11-05 22:02:58 +05:30
|
|
|
from quart import Quart
|
2023-11-09 14:01:26 +05:30
|
|
|
from uvicorn import Server as UvicornServer, Config
|
2023-11-05 22:02:58 +05:30
|
|
|
from logging import getLogger
|
|
|
|
|
from bot.config import Server, LOGGER_CONFIG_JSON
|
|
|
|
|
from . import main, error
|
|
|
|
|
|
2023-11-09 14:01:26 +05:30
|
|
|
logger = getLogger('uvicorn')
|
2023-11-05 22:02:58 +05:30
|
|
|
instance = Quart(__name__)
|
2023-11-09 14:01:26 +05:30
|
|
|
instance.config['RESPONSE_TIMEOUT'] = None
|
2024-11-20 15:29:44 +05:30
|
|
|
instance.config['MAX_CONTENT_LENGTH'] = 999999999999999
|
2023-11-05 22:02:58 +05:30
|
|
|
|
|
|
|
|
@instance.before_serving
|
|
|
|
|
async def before_serve():
|
|
|
|
|
logger.info('Web server is started!')
|
|
|
|
|
logger.info(f'Server running on {Server.BIND_ADDRESS}:{Server.PORT}')
|
|
|
|
|
|
|
|
|
|
instance.register_blueprint(main.bp)
|
|
|
|
|
|
|
|
|
|
instance.register_error_handler(400, error.invalid_request)
|
|
|
|
|
instance.register_error_handler(404, error.not_found)
|
|
|
|
|
instance.register_error_handler(405, error.invalid_method)
|
|
|
|
|
instance.register_error_handler(error.HTTPError, error.http_error)
|
|
|
|
|
|
2023-11-09 14:01:26 +05:30
|
|
|
server = UvicornServer (
|
|
|
|
|
Config (
|
|
|
|
|
app=instance,
|
|
|
|
|
host=Server.BIND_ADDRESS,
|
|
|
|
|
port=Server.PORT,
|
|
|
|
|
log_config=LOGGER_CONFIG_JSON
|
|
|
|
|
)
|
|
|
|
|
)
|