From f8f6520ae81e87233769019a39d83adc22782c97 Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas@kluyver.me.uk>
Date: Thu, 17 Nov 2022 11:55:03 +0000
Subject: [PATCH] Add calparrot.stop

---
 calparrot/stop.py | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 calparrot/stop.py

diff --git a/calparrot/stop.py b/calparrot/stop.py
new file mode 100644
index 0000000..5683147
--- /dev/null
+++ b/calparrot/stop.py
@@ -0,0 +1,20 @@
+import argparse
+import logging
+import sys
+
+from tornado.httpclient import HTTPClient
+
+def main():
+    ap = argparse.ArgumentParser()
+    ap.add_argument('port', type=int, help="Port number of CalParrot server")
+    args = ap.parse_args()
+    logging.basicConfig(level=logging.INFO)
+
+    client = HTTPClient()
+    client.fetch(f"http://127.0.0.1:{args.port}/.calparrot/stop", method='POST',
+                 allow_nonstandard_methods=True)  # POST with no body
+    logging.info("Asked CalParrot server to shut down")
+
+
+if __name__ == '__main__':
+    sys.exit(main())
-- 
GitLab