about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/app.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/app.py')
-rw-r--r--.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/app.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/app.py b/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/app.py
new file mode 100644
index 00000000..0d443590
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/app.py
@@ -0,0 +1,45 @@
+"""Receiver module for processing SendGrid Inbound Parse messages.
+
+See README.txt for usage instructions."""
+try:
+    from config import Config
+except:
+    # Python 3+, Travis
+    from sendgrid.helpers.inbound.config import Config
+
+try:
+    from parse import Parse
+except:
+    # Python 3+, Travis
+    from sendgrid.helpers.inbound.parse import Parse
+
+from flask import Flask, request, render_template
+import os
+
+app = Flask(__name__)
+config = Config()
+
+
+@app.route('/', methods=['GET'])
+def index():
+    """Show index page to confirm that server is running."""
+    return render_template('index.html')
+
+
+@app.route(config.endpoint, methods=['POST'])
+def inbound_parse():
+    """Process POST from Inbound Parse and print received data."""
+    parse = Parse(config, request)
+    # Sample processing action
+    print(parse.key_values())
+    # Tell SendGrid's Inbound Parse to stop sending POSTs
+    # Everything is 200 OK :)
+    return "OK"
+
+
+if __name__ == '__main__':
+    # Be sure to set config.debug_mode to False in production
+    port = int(os.environ.get("PORT", config.port))
+    if port != config.port:
+        config.debug = False
+    app.run(host='0.0.0.0', debug=config.debug_mode, port=port)