Add middleware to manage https header
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Michel Roux 2022-09-08 16:53:36 +00:00
parent 251d881e81
commit 18da7f0712
3 changed files with 23 additions and 1 deletions

View File

@ -11,6 +11,7 @@ from ics.alarm import DisplayAlarm
from quart import Quart, redirect, render_template, request, url_for from quart import Quart, redirect, render_template, request, url_for
import sentry_sdk import sentry_sdk
from sentry_sdk.integrations.quart import QuartIntegration from sentry_sdk.integrations.quart import QuartIntegration
from uvicorn.middleware.proxy_headers import ProxyHeadersMiddleware # type: ignore
load_dotenv() load_dotenv()
@ -34,6 +35,7 @@ class Discord(Client):
client = Discord() client = Discord()
app = Quart(__name__) app = Quart(__name__)
app.asgi_app = ProxyHeadersMiddleware(app.asgi_app) # type: ignore
def get_guild_by_id(guild_id: str) -> Optional[Guild]: def get_guild_by_id(guild_id: str) -> Optional[Guild]:

21
poetry.lock generated
View File

@ -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"] 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)"] 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]] [[package]]
name = "Werkzeug" name = "Werkzeug"
version = "2.2.2" version = "2.2.2"
@ -720,7 +735,7 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.8" python-versions = "^3.8"
content-hash = "6aba135bdcb63609fec9e8983f074a5cca791f3315dc46acdc461f1de990d84c" content-hash = "b131f13c9fa60df1f080215ed7c899de6f236de569133ee715e0ba1f8ff3c672"
[metadata.files] [metadata.files]
aiofiles = [ aiofiles = [
@ -1316,6 +1331,10 @@ urllib3 = [
{file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"},
{file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, {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 = [ Werkzeug = [
{file = "Werkzeug-2.2.2-py3-none-any.whl", hash = "sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5"}, {file = "Werkzeug-2.2.2-py3-none-any.whl", hash = "sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5"},
{file = "Werkzeug-2.2.2.tar.gz", hash = "sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f"}, {file = "Werkzeug-2.2.2.tar.gz", hash = "sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f"},

View File

@ -18,6 +18,7 @@ ics = "0.8.0.dev0"
python-dotenv = "0.21.0" python-dotenv = "0.21.0"
quart = "0.18.0" quart = "0.18.0"
sentry-sdk = "1.9.8" sentry-sdk = "1.9.8"
uvicorn = "0.18.3"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
flake8 = "5.0.4" flake8 = "5.0.4"