diff --git a/content-dpr/resources/dpr.py b/content-dpr/resources/dpr.py
index 14d7d550fe28d4..969ac2458d8b5a 100644
--- a/content-dpr/resources/dpr.py
+++ b/content-dpr/resources/dpr.py
@@ -1,24 +1,26 @@
+from wptserve.utils import isomorphic_decode
+
def main(request, response):
"""
Simple handler that sets a response header based on which client hint
request headers were received.
"""
- response.headers.append("Access-Control-Allow-Origin", "*")
+ response.headers.append(b"Access-Control-Allow-Origin", b"*")
values = request.GET
- name = values.first('name')
- type = values.first('mimeType')
- dpr = values.first('dpr')
+ name = values.first(b'name')
+ type = values.first(b'mimeType')
+ dpr = values.first(b'dpr')
double = None
- if 'double' in values:
- double = values.first('double')
- image_path = request.doc_root + "/".join(request.url_parts[2].split("/")[:-1]) + "/" + name
+ if b'double' in values:
+ double = values.first(b'double')
+ image_path = request.doc_root + u"/".join(request.url_parts[2].split(u"/")[:-1]) + u"/" + isomorphic_decode(name)
f = open(image_path, "rb")
buff = f.read()
f.close()
- response.headers.set("Content-Type", type)
- response.headers.set("Content-DPR", dpr)
+ response.headers.set(b"Content-Type", type)
+ response.headers.set(b"Content-DPR", dpr)
if double:
- response.headers.append("Content-DPR", double)
- response.headers.set("Content-Length", len(buff))
+ response.headers.append(b"Content-DPR", double)
+ response.headers.set(b"Content-Length", len(buff))
response.content = buff
diff --git a/mimesniff/mime-types/resources/mime-charset.py b/mimesniff/mime-types/resources/mime-charset.py
index a4f90f52c323fc..46d8252e0c90a7 100644
--- a/mimesniff/mime-types/resources/mime-charset.py
+++ b/mimesniff/mime-types/resources/mime-charset.py
@@ -1,5 +1,7 @@
+from wptserve.utils import isomorphic_encode
+
def main(request, response):
- content = "\n"
+ content = b"\n"
# This uses the following rather than
# response.headers.set("Content-Type", request.GET.first("type"));
@@ -7,10 +9,10 @@ def main(request, response):
# to work around https://github.com/web-platform-tests/wpt/issues/8372.
response.add_required_headers = False
- output = "HTTP/1.1 200 OK\r\n"
- output += "Content-Length: " + str(len(content)) + "\r\n"
- output += "Content-Type: " + request.GET.first("type") + "\r\n"
- output += "\r\n"
+ output = b"HTTP/1.1 200 OK\r\n"
+ output += b"Content-Length: " + isomorphic_encode(str(len(content))) + b"\r\n"
+ output += b"Content-Type: " + request.GET.first(b"type") + b"\r\n"
+ output += b"\r\n"
output += content
response.writer.write(output)
response.close_connection = True