Files
notifications-api/app/notifications/utils.py
Kenneth Kehl 1ecb747c6d reformat
2023-08-29 14:54:30 -07:00

28 lines
813 B
Python

import requests
from flask import current_app
def confirm_subscription(confirmation_request):
url = confirmation_request.get("SubscribeURL")
if not url:
current_app.logger.warning("SubscribeURL does not exist or empty")
return
response = requests.get(url)
try:
response.raise_for_status()
except Exception as e:
current_app.logger.warning("Response: {}".format(response.text))
raise e
return confirmation_request["TopicArn"]
def autoconfirm_subscription(req_json):
if req_json.get("Type") == "SubscriptionConfirmation":
current_app.logger.debug(
"SNS subscription confirmation url: {}".format(req_json["SubscribeURL"])
)
subscribed_topic = confirm_subscription(req_json)
return subscribed_topic