diff options
author | Janus Troelsen <ysangkok@gmail.com> | 2013-02-24 22:26:23 +0100 |
---|---|---|
committer | Janus Troelsen <ysangkok@gmail.com> | 2013-02-24 22:26:23 +0100 |
commit | 0aaf540cae8d36844b0aa683ab84fdc50ce3ceab (patch) | |
tree | 6cc1a746334251276f078143a758e7c1cc503e91 | |
parent | 019c14d581919c1c6756365acfd8c570f1a7d39c (diff) |
add OPTIONS verb so that CORS works in Chrome. also use OOP
-rwxr-xr-x | tests/runner.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/runner.py b/tests/runner.py index 8410f888..c356d218 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -10477,7 +10477,6 @@ elif 'browser' in str(sys.argv): def chunked_server(support_byte_ranges): class ChunkedServerHandler(BaseHTTPServer.BaseHTTPRequestHandler): - @staticmethod def sendheaders(s, extra=[], length=len(data)): s.send_response(200) s.send_header("Content-Length", str(length)) @@ -10491,11 +10490,14 @@ elif 'browser' in str(sys.argv): s.end_headers() def do_HEAD(s): - ChunkedServerHandler.sendheaders(s) - + s.sendheaders() + + def do_OPTIONS(s): + s.sendheaders([("Access-Control-Allow-Headers", "Range")], 0) + def do_GET(s): if not support_byte_ranges: - ChunkedServerHandler.sendheaders(s) + s.sendheaders() s.wfile.write(data) else: (start, end) = s.headers.get("range").split("=")[1].split("-") @@ -10503,7 +10505,7 @@ elif 'browser' in str(sys.argv): end = int(end) end = min(len(data)-1, end) length = end-start+1 - ChunkedServerHandler.sendheaders(s,[],length) + s.sendheaders([],length) s.wfile.write(data[start:end+1]) s.wfile.close() httpd = BaseHTTPServer.HTTPServer(('localhost', 11111), ChunkedServerHandler) |