diff --git a/jsonrpclib/SimpleJSONRPCServer.py b/jsonrpclib/SimpleJSONRPCServer.py index e6a46f3..f0a9746 100644 --- a/jsonrpclib/SimpleJSONRPCServer.py +++ b/jsonrpclib/SimpleJSONRPCServer.py @@ -179,7 +179,10 @@ def do_POST(self): response = fault.response() if response is None: response = '' - self.send_header("Content-type", "application/json-rpc") + self.send_header("Content-type", "application/json") + self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Methods", "POST,OPTIONS") + self.send_header("Access-Control-Allow-Headers", "x-api-key,Content-Type") self.send_header("Content-length", str(len(response))) self.end_headers() if isinstance(response, bytes): @@ -188,6 +191,13 @@ def do_POST(self): self.wfile.write(response.encode()) self.wfile.flush() self.connection.shutdown(1) + + def do_OPTIONS(self): + self.send_response(200) + self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Methods", "POST,OPTIONS") + self.send_header("Access-Control-Allow-Headers", "x-api-key,Content-Type") + self.end_headers() class SimpleJSONRPCUnixRequestHandler(SimpleJSONRPCRequestHandler):