From 95eeffdd8cc3443add1ce2c739d0c413ac502015 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 11 Apr 2022 10:58:45 +0200 Subject: src: shorter import --- src/server.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/server.py') diff --git a/src/server.py b/src/server.py index 75723bd..9ffe6f1 100755 --- a/src/server.py +++ b/src/server.py @@ -9,6 +9,7 @@ # custom URLs. See that file for the reasons behind this. import argparse +from http import HTTPStatus import http.server import os import sys @@ -38,7 +39,7 @@ class RequestHandler(http.server.SimpleHTTPRequestHandler): response = request.process() response.write_to_request_handler(self) except: - status = http.server.HTTPStatus.INTERNAL_SERVER_ERROR + status = HTTPStatus.INTERNAL_SERVER_ERROR response = Response(traceback.format_exc(), status) response.write_to_request_handler(self) return -- cgit v1.2.3 From 1a3a8f1ec191d3811730fd149521abcb2205a018 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 11 Apr 2022 11:36:31 +0200 Subject: support disallowing power requests --- src/server.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/server.py') diff --git a/src/server.py b/src/server.py index 9ffe6f1..a0fa7c4 100755 --- a/src/server.py +++ b/src/server.py @@ -30,9 +30,12 @@ def default_html_dir(): class RequestHandler(http.server.SimpleHTTPRequestHandler): + ARGS = None + def do_GET(self): try: request = Request.from_http_path(self.path) + request.disable_power = RequestHandler.ARGS.disable_power except ValueError: return super().do_GET() try: @@ -60,6 +63,8 @@ def parse_args(args=None): parser.add_argument('-p', '--port', metavar='PORT', type=int, default=DEFAULT_PORT, help='set port number') + parser.add_argument('-n', '--disable-power', action='store_true', + help='disable reboot/poweroff requests') parser.add_argument('-d', '--dir', metavar='DIR', default=default_html_dir(), help='HTML directory path') @@ -68,6 +73,7 @@ def parse_args(args=None): def main(args=None): args = parse_args(args) + RequestHandler.ARGS = args # It's a failsafe; the script is not allowed to serve a random current # working directory. -- cgit v1.2.3