about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py')
-rw-r--r--.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py b/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py
new file mode 100644
index 00000000..8dbfa68d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/sendgrid/helpers/inbound/send.py
@@ -0,0 +1,61 @@
+"""A module for sending test SendGrid Inbound Parse messages.
+Usage: ./send.py [path to file containing test data]"""
+import argparse
+import sys
+from io import open
+try:
+    from config import Config
+except ImportError:
+    # Python 3+, Travis
+    from sendgrid.helpers.inbound.config import Config
+from python_http_client import Client
+
+
+class Send(object):
+
+    def __init__(self, url):
+        """Create a Send object with target `url`."""
+        self._url = url
+
+    def test_payload(self, payload_filepath):
+        """Send a test payload.
+
+        Load a payload from payload_filepath, apply headers, and POST self.url.
+        Return the response object.
+        """
+        headers = {
+            "User-Agent": "SendGrid-Test",
+            "Content-Type": "multipart/form-data; boundary=xYzZY"
+        }
+        client = Client(host=self.url, request_headers=headers)
+        f = open(payload_filepath, 'r', encoding='utf-8')
+        data = f.read()
+        return client.post(request_body=data)
+
+    @property
+    def url(self):
+        """URL to send to."""
+        return self._url
+
+
+def main():
+    config = Config()
+    parser = argparse.ArgumentParser(
+        description='Test data and optional host.')
+    parser.add_argument('data',
+                        type=str,
+                        help='path to the sample data')
+    parser.add_argument('-host',
+                        type=str,
+                        help='name of host to send the sample data to',
+                        default=config.host, required=False)
+    args = parser.parse_args()
+    send = Send(args.host)
+    response = send.test_payload(sys.argv[1])
+    print(response.status_code)
+    print(response.headers)
+    print(response.body)
+
+
+if __name__ == '__main__':
+    main()