gecko-dev/testing/web-platform/tests/fetch/range/resources/partial-script.py
Jake Archibald dce65063fa Bug 1452562 [wpt PR 10348] - Allow range headers to pass through a service worker, a=testonly
Automatic update from web-platform-testsAllow range headers to pass through a service worker (#10348)

Tests for https://github.com/whatwg/fetch/pull/560

--

wpt-commits: fb6d16d92af29262b6137b79e61f0c4b136c6ac1
wpt-pr: 10348
2018-06-10 09:29:55 +01:00

30 lines
944 B
Python

"""
This generates a partial response containing valid JavaScript.
"""
def main(request, response):
require_range = request.GET.first('require-range', '')
pretend_offset = int(request.GET.first('pretend-offset', '0'))
range_header = request.headers.get('Range', '')
if require_range and not range_header:
response.set_error(412, "Range header required")
response.write()
return
response.headers.set("Content-Type", "text/plain")
response.headers.set("Accept-Ranges", "bytes")
response.headers.set("Cache-Control", "no-cache")
response.status = 206
to_send = 'self.scriptExecuted = true;'
length = len(to_send)
content_range = "bytes {}-{}/{}".format(
pretend_offset, pretend_offset + length - 1, pretend_offset + length)
response.headers.set("Content-Range", content_range)
response.headers.set("Content-Length", length)
response.content = to_send