17 lines
739 B
Python
17 lines
739 B
Python
from flask import current_app
|
|
from pywebpush import webpush, WebPushException
|
|
|
|
def send_notification(subscription_info, message_body):
|
|
try:
|
|
webpush(
|
|
subscription_info=subscription_info,
|
|
data=message_body,
|
|
vapid_private_key=current_app.config["VAPID_PRIVATE_KEY"],
|
|
vapid_claims={"sub": current_app.config["VAPID_CLAIM_EMAIL"]},
|
|
)
|
|
except WebPushException as ex:
|
|
print(f"Web push error: {ex}")
|
|
# You might want to remove the subscription if it's invalid
|
|
if ex.response and ex.response.status_code == 410:
|
|
print("Subscription is no longer valid, removing from DB.")
|
|
# Add logic to remove the subscription from your database |