Added Support for OPTIONS Request
authorBen Reeves <zootreeves@gmail.com>
Wed, 19 Sep 2012 18:31:06 +0000 (20:31 +0200)
committerBen Reeves <zootreeves@gmail.com>
Wed, 19 Sep 2012 18:31:06 +0000 (20:31 +0200)
OPTIONS support is needed for browser based querying of electrum servers with browsers that support CORS.

transports/stratum_http.py

index 49f3fd9..e4eb777 100644 (file)
@@ -134,7 +134,15 @@ class StratumJSONRPCDispatcher(SimpleXMLRPCServer.SimpleXMLRPCDispatcher):
 
 class StratumJSONRPCRequestHandler(
         SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
-    
+            
+    def do_OPTIONS(self):
+            self.send_response(200)
+               self.send_header('Allow', 'GET, POST, OPTIONS')
+               self.send_header('Access-Control-Allow-Origin', '*')
+               self.send_header('Access-Control-Allow-Headers', 'X-Request, X-Requested-With')
+               self.send_header('Content-Length', '0')
+               self.end_headers()
+            
     def do_GET(self):
         if not self.is_rpc_path_valid():
             self.report_404()