diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-02-26 16:18:44 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-02-26 16:18:44 -0800 |
commit | 6693e8ca0509fbc6ca3708c44dc5f7ad113bfb99 (patch) | |
tree | b387c5119836ea3a48109fb512dd4dc9fb1b0b8d | |
parent | df7d3ce735c3c1f62e95454c6e3b9d4026c3c02e (diff) | |
parent | 0aaf540cae8d36844b0aa683ab84fdc50ce3ceab (diff) |
Merge pull request #871 from ysangkok/chrome-fix
bin xhr sync test: 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 4c41c72e..d4ec2501 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -10520,7 +10520,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)) @@ -10534,11 +10533,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("-") @@ -10546,7 +10548,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) |