aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanus Troelsen <ysangkok@gmail.com>2013-02-24 22:26:23 +0100
committerJanus Troelsen <ysangkok@gmail.com>2013-02-24 22:26:23 +0100
commit0aaf540cae8d36844b0aa683ab84fdc50ce3ceab (patch)
tree6cc1a746334251276f078143a758e7c1cc503e91
parent019c14d581919c1c6756365acfd8c570f1a7d39c (diff)
add OPTIONS verb so that CORS works in Chrome. also use OOP
-rwxr-xr-xtests/runner.py12
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)