From 91e826e5f425333674d1e3bec1fa1ac63cfb382d Mon Sep 17 00:00:00 2001 From: Sebastian Aigner Date: Sun, 4 Sep 2022 10:22:54 +0200 Subject: [PATCH] Add CORS headers to dream server to ease integration with third-party web interfaces --- ldm/dream/server.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ldm/dream/server.py b/ldm/dream/server.py index f592457e4c..bba537d6ad 100644 --- a/ldm/dream/server.py +++ b/ldm/dream/server.py @@ -16,6 +16,8 @@ class DreamServer(BaseHTTPRequestHandler): def do_GET(self): if self.path == "/": self.send_response(200) + self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") self.send_header("Content-type", "text/html") self.end_headers() with open("./static/dream_web/index.html", "rb") as content: @@ -33,6 +35,8 @@ class DreamServer(BaseHTTPRequestHandler): elif self.path == "/cancel": self.canceled.set() self.send_response(200) + self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") self.send_header("Content-type", "application/json") self.end_headers() self.wfile.write(bytes('{}', 'utf8')) @@ -55,6 +59,8 @@ class DreamServer(BaseHTTPRequestHandler): def do_POST(self): self.send_response(200) + self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") self.send_header("Content-type", "application/json") self.end_headers() @@ -196,6 +202,11 @@ class DreamServer(BaseHTTPRequestHandler): print(f"Canceled.") return + def do_OPTIONS(self): + self.send_response(200) + self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") + self.end_headers() class ThreadingDreamServer(ThreadingHTTPServer): def __init__(self, server_address):