diff --git a/divent/bot.py b/divent/bot.py index 1d5f45e..ca19bcd 100644 --- a/divent/bot.py +++ b/divent/bot.py @@ -11,6 +11,7 @@ from ics.alarm import DisplayAlarm from quart import Quart, redirect, render_template, request, url_for import sentry_sdk from sentry_sdk.integrations.quart import QuartIntegration +from uvicorn.middleware.proxy_headers import ProxyHeadersMiddleware # type: ignore load_dotenv() @@ -34,6 +35,7 @@ class Discord(Client): client = Discord() app = Quart(__name__) +app.asgi_app = ProxyHeadersMiddleware(app.asgi_app) # type: ignore def get_guild_by_id(guild_id: str) -> Optional[Guild]: diff --git a/poetry.lock b/poetry.lock index 5c42b8c..ca0b60f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -668,6 +668,21 @@ brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "uvicorn" +version = "0.18.3" +description = "The lightning-fast ASGI server." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +click = ">=7.0" +h11 = ">=0.8" + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.4.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.0)"] + [[package]] name = "Werkzeug" version = "2.2.2" @@ -720,7 +735,7 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>= [metadata] lock-version = "1.1" python-versions = "^3.8" -content-hash = "6aba135bdcb63609fec9e8983f074a5cca791f3315dc46acdc461f1de990d84c" +content-hash = "b131f13c9fa60df1f080215ed7c899de6f236de569133ee715e0ba1f8ff3c672" [metadata.files] aiofiles = [ @@ -1316,6 +1331,10 @@ urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] +uvicorn = [ + {file = "uvicorn-0.18.3-py3-none-any.whl", hash = "sha256:0abd429ebb41e604ed8d2be6c60530de3408f250e8d2d84967d85ba9e86fe3af"}, + {file = "uvicorn-0.18.3.tar.gz", hash = "sha256:9a66e7c42a2a95222f76ec24a4b754c158261c4696e683b9dadc72b590e0311b"}, +] Werkzeug = [ {file = "Werkzeug-2.2.2-py3-none-any.whl", hash = "sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5"}, {file = "Werkzeug-2.2.2.tar.gz", hash = "sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f"}, diff --git a/pyproject.toml b/pyproject.toml index 0367cb1..bb735e3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ ics = "0.8.0.dev0" python-dotenv = "0.21.0" quart = "0.18.0" sentry-sdk = "1.9.8" +uvicorn = "0.18.3" [tool.poetry.dev-dependencies] flake8 = "5.0.4"