| OLD | NEW |
| 1 function handleString(event) { | 1 function handleString(event) { |
| 2 event.respondWith(new Response('Test string')); | 2 event.respondWith(new Response('Test string')); |
| 3 } | 3 } |
| 4 | 4 |
| 5 function handleBlob(event) { | 5 function handleBlob(event) { |
| 6 event.respondWith(new Response(new Blob(['Test blob']))); | 6 event.respondWith(new Response(new Blob(['Test blob']))); |
| 7 } | 7 } |
| 8 | 8 |
| 9 function handleReferrer(event) { | 9 function handleReferrer(event) { |
| 10 event.respondWith(new Response(new Blob( | 10 event.respondWith(new Response(new Blob( |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 event.respondWith(new Response(body, { | 106 event.respondWith(new Response(body, { |
| 107 headers: { 'Content-Type': 'text/event-stream' } | 107 headers: { 'Content-Type': 'text/event-stream' } |
| 108 } | 108 } |
| 109 )); | 109 )); |
| 110 } | 110 } |
| 111 | 111 |
| 112 function handleIntegrity(event) { | 112 function handleIntegrity(event) { |
| 113 event.respondWith(new Response(event.request.integrity)); | 113 event.respondWith(new Response(event.request.integrity)); |
| 114 } | 114 } |
| 115 | 115 |
| 116 function handleHeaders(event) { |
| 117 const headers = Array.from(event.request.headers); |
| 118 event.respondWith(new Response(JSON.stringify(headers))); |
| 119 } |
| 120 |
| 116 self.addEventListener('fetch', function(event) { | 121 self.addEventListener('fetch', function(event) { |
| 117 var url = event.request.url; | 122 var url = event.request.url; |
| 118 var handlers = [ | 123 var handlers = [ |
| 119 { pattern: '?string', fn: handleString }, | 124 { pattern: '?string', fn: handleString }, |
| 120 { pattern: '?blob', fn: handleBlob }, | 125 { pattern: '?blob', fn: handleBlob }, |
| 121 { pattern: '?referrerFull', fn: handleReferrerFull }, | 126 { pattern: '?referrerFull', fn: handleReferrerFull }, |
| 122 { pattern: '?referrerPolicy', fn: handleReferrerPolicy }, | 127 { pattern: '?referrerPolicy', fn: handleReferrerPolicy }, |
| 123 { pattern: '?referrer', fn: handleReferrer }, | 128 { pattern: '?referrer', fn: handleReferrer }, |
| 124 { pattern: '?clientId', fn: handleClientId }, | 129 { pattern: '?clientId', fn: handleClientId }, |
| 125 { pattern: '?ignore', fn: function() {} }, | 130 { pattern: '?ignore', fn: function() {} }, |
| 126 { pattern: '?null', fn: handleNullBody }, | 131 { pattern: '?null', fn: handleNullBody }, |
| 127 { pattern: '?fetch', fn: handleFetch }, | 132 { pattern: '?fetch', fn: handleFetch }, |
| 128 { pattern: '?form-post', fn: handleFormPost }, | 133 { pattern: '?form-post', fn: handleFormPost }, |
| 129 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith }, | 134 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith }, |
| 130 { pattern: '?used-check', fn: handleUsedCheck }, | 135 { pattern: '?used-check', fn: handleUsedCheck }, |
| 131 { pattern: '?fragment-check', fn: handleFragmentCheck }, | 136 { pattern: '?fragment-check', fn: handleFragmentCheck }, |
| 132 { pattern: '?cache', fn: handleCache }, | 137 { pattern: '?cache', fn: handleCache }, |
| 133 { pattern: '?eventsource', fn: handleEventSource }, | 138 { pattern: '?eventsource', fn: handleEventSource }, |
| 134 { pattern: '?integrity', fn: handleIntegrity }, | 139 { pattern: '?integrity', fn: handleIntegrity }, |
| 140 { pattern: '?headers', fn: handleHeaders }, |
| 135 ]; | 141 ]; |
| 136 | 142 |
| 137 var handler = null; | 143 var handler = null; |
| 138 for (var i = 0; i < handlers.length; ++i) { | 144 for (var i = 0; i < handlers.length; ++i) { |
| 139 if (url.indexOf(handlers[i].pattern) != -1) { | 145 if (url.indexOf(handlers[i].pattern) != -1) { |
| 140 handler = handlers[i]; | 146 handler = handlers[i]; |
| 141 break; | 147 break; |
| 142 } | 148 } |
| 143 } | 149 } |
| 144 | 150 |
| 145 if (handler) { | 151 if (handler) { |
| 146 handler.fn(event); | 152 handler.fn(event); |
| 147 } else { | 153 } else { |
| 148 event.respondWith(new Response(new Blob( | 154 event.respondWith(new Response(new Blob( |
| 149 ['Service Worker got an unexpected request: ' + url]))); | 155 ['Service Worker got an unexpected request: ' + url]))); |
| 150 } | 156 } |
| 151 }); | 157 }); |
| OLD | NEW |