summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/resources/request-end-to-end-worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/service-workers/service-worker/resources/request-end-to-end-worker.js')
-rw-r--r--testing/web-platform/tests/service-workers/service-worker/resources/request-end-to-end-worker.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/request-end-to-end-worker.js b/testing/web-platform/tests/service-workers/service-worker/resources/request-end-to-end-worker.js
new file mode 100644
index 000000000..323c7f243
--- /dev/null
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/request-end-to-end-worker.js
@@ -0,0 +1,32 @@
+var port = undefined;
+
+onmessage = function(e) {
+ var message = e.data;
+ if (typeof message === 'object' && 'port' in message) {
+ port = message.port;
+ }
+};
+
+onfetch = function(e) {
+ var headers = {};
+ var errorNameWhileAppendingHeader;
+ for (var header of e.request.headers) {
+ var key = header[0], value = header[1];
+ headers[key] = value;
+ }
+ var errorNameWhileAddingHeader = '';
+ try {
+ e.request.headers.append('Test-Header', 'TestValue');
+ } catch (e) {
+ errorNameWhileAppendingHeader = e.name;
+ }
+ port.postMessage({
+ url: e.request.url,
+ mode: e.request.mode,
+ method: e.request.method,
+ referrer: e.request.referrer,
+ headers: headers,
+ headerSize: e.request.headers.size,
+ errorNameWhileAppendingHeader: errorNameWhileAppendingHeader
+ });
+};