|
|
|
@ -2,10 +2,10 @@ |
|
|
|
|
Basic web server / framework. |
|
|
|
|
""" |
|
|
|
|
|
|
|
|
|
from SocketServer import ThreadingMixIn |
|
|
|
|
import BaseHTTPServer |
|
|
|
|
import urlparse |
|
|
|
|
import cgi |
|
|
|
|
import urlparse |
|
|
|
|
from SocketServer import ThreadingMixIn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class HTTPError(Exception): |
|
|
|
@ -57,6 +57,18 @@ class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
|
|
|
|
environ={'REQUEST_METHOD': 'POST'}) |
|
|
|
|
self._call(self.path.strip('/'), params={'form_values': form_values}) |
|
|
|
|
|
|
|
|
|
def do_OPTIONS(self): # pylint: disable=invalid-name |
|
|
|
|
""" |
|
|
|
|
Handle OPTIONS request and return CORS headers. |
|
|
|
|
""" |
|
|
|
|
self.send_response(200, 'ok') |
|
|
|
|
self.send_header('Access-Control-Allow-Origin', '*') |
|
|
|
|
self.send_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS') |
|
|
|
|
self.send_header('Access-Control-Allow-Headers', 'X-Requested-With') |
|
|
|
|
self.send_header('Access-Control-Allow-Headers', 'Content-Type, ' |
|
|
|
|
'Authorization') |
|
|
|
|
self.end_headers() |
|
|
|
|
|
|
|
|
|
def _parse(self, reqinfo): |
|
|
|
|
""" |
|
|
|
|
Parse information from a request. |
|
|
|
|