Skip to content

Commit 9799eca

Browse files
committed
Fix #35 enforce optionally http webhook posting
1 parent a9195a5 commit 9799eca

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ REDIS_PASSWORD=secret
55
STRIPE_WEBHOOK_SECRET=
66
STRIPE_WEBHOOK_PATH=/stripe_webhook
77
PYTHON_LOG_LEVEL=WARNING
8-
8+
ENFORCE_HTTPS_WEBHOOK_POST

main.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,19 @@
1919
REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD")
2020
STRIPE_WEBHOOK_SECRET = os.environ.get("STRIPE_WEBHOOK_SECRET")
2121
STRIPE_WEBHOOK_PATH = os.environ.get("STRIPE_WEBHOOK_PATH")
22+
ENFORCE_HTTPS_WEBHOOK_POST = os.environ.get("ENFORCE_HTTPS_WEBHOOK_POST")
2223

23-
print(f"PYTHON_LOG_LEVEL is: {PYTHON_LOG_LEVEL}")
24+
if ENFORCE_HTTPS_WEBHOOK_POST is not None:
25+
if (
26+
ENFORCE_HTTPS_WEBHOOK_POST.lower() == "true"
27+
or ENFORCE_HTTPS_WEBHOOK_POST == "1"
28+
):
29+
ENFORCE_HTTPS_WEBHOOK_POST = True
30+
else:
31+
ENFORCE_HTTPS_WEBHOOK_POST = False
2432

33+
print(f"PYTHON_LOG_LEVEL is: {PYTHON_LOG_LEVEL}")
34+
log.debug(f"ENFORCE_HTTPS_WEBHOOK_POST is set to {ENFORCE_HTTPS_WEBHOOK_POST}")
2535
app = Flask(__name__)
2636

2737

@@ -80,6 +90,14 @@ def route_stripe_connect_webhook():
8090
return "Stripe SignatureVerificationError", 400
8191

8292
post_url = site_url.decode("utf-8") + STRIPE_WEBHOOK_PATH
93+
if ENFORCE_HTTPS_WEBHOOK_POST:
94+
msg = "Enforcing https post since ENFORCE_HTTPS_WEBHOOK_POST"
95+
log.debug(msg)
96+
post_url = post_url.replace("http://", "https://")
97+
else:
98+
log.warning(
99+
"ENFORCE_HTTPS_WEBHOOK_POST not set so posting to http"
100+
) # noqa: E501
83101
log.debug(f"Posting webhook to: {post_url}")
84102

85103
resp = requests.post(

0 commit comments

Comments
 (0)