diff options
Diffstat (limited to 'testing/web-platform/tests/element-timing/resources/progressive-image.py')
-rw-r--r-- | testing/web-platform/tests/element-timing/resources/progressive-image.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/element-timing/resources/progressive-image.py b/testing/web-platform/tests/element-timing/resources/progressive-image.py new file mode 100644 index 0000000000..84e98c8451 --- /dev/null +++ b/testing/web-platform/tests/element-timing/resources/progressive-image.py @@ -0,0 +1,27 @@ +import os.path +import time + +from wptserve.utils import isomorphic_encode + +def main(request, response): + name = request.GET.first(b"name") + sleepTime = float(request.GET.first(b"sleep")) / 1E3 + numInitial = int(request.GET.first(b"numInitial")) + + path = os.path.join(os.path.dirname(isomorphic_encode(__file__)), name) + body = open(path, u"rb").read() + + response.headers.set(b"Content-Type", b"image") + response.headers.set(b"Content-Length", len(body)) + response.headers.set(b"Cache-control", b"no-cache, must-revalidate") + response.write_status_headers() + + # Read from the beginning, |numInitial| bytes. + first = body[:numInitial] + response.writer.write_content(first) + + time.sleep(sleepTime) + + # Read the remainder after having slept. + second = body[numInitial:] + response.writer.write_content(second) |