chiark / gitweb /
Added --host (-H) option to fake-dw, and made it print its address to make debugging...
authorMarnanel Thurman <marnanel@thurman.org.uk>
Sat, 11 Dec 2021 20:56:21 +0000 (20:56 +0000)
committerMarnanel Thurman <marnanel@thurman.org.uk>
Sat, 11 Dec 2021 20:56:21 +0000 (20:56 +0000)
fake-dw/fake-dw.py

index 00c4e94e1ac86992582743221c5b0870ae6bc930..5655c7463f031547c4ee68dbd80e153e2db404d1 100644 (file)
@@ -2,6 +2,7 @@
 
 import http.server
 import socketserver
+import socket
 from http import HTTPStatus
 from urllib.parse import parse_qs
 import requests
@@ -15,6 +16,8 @@ class GatewayHandler(http.server.BaseHTTPRequestHandler):
 
     server_version = 'fake-dw-gateway/0.0.1'
 
+    name = 'gateway'
+
     keep_headers = [
             'content-type',
             'content-length',
@@ -267,6 +270,11 @@ def main():
             const=ErsatzHandler,
             help='Pretend to be Dreamwidth.',
             )
+    parser.add_argument('-H', '--host',
+            type=str,
+            default=None,
+            help='Host to listen on. Defaults to gethostname().',
+            )
     parser.add_argument('-p', '--port',
             type=int,
             default=6887,
@@ -283,14 +291,21 @@ def main():
         parser.print_usage()
         return
 
+    if args.host is None:
+        args.host = socket.gethostname()
+
     with TCPServerWithSettings(
-            ("", args.port),
+            (args.host, args.port),
             args.handler,
             settings = args,
             ) as httpd:
 
         httpd.allow_reuse_address = True
-        print(f"Now serving {args.handler} at port {args.port}.")
+        print(f"Now serving:")
+        print(f"Handler: {args.handler.__name__}")
+        print(f"Address: http://{args.host}:{args.port} "
+                "-- note, not https")
+        print(f"Use ctrl-C to abort.")
 
         httpd.serve_forever()