Chromium Code Reviews| 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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 63 event.respondWith(fetch('other.html').then(function(response) { | 63 event.respondWith(fetch('other.html').then(function(response) { |
| 64 lastResponseForUsedCheck = response; | 64 lastResponseForUsedCheck = response; |
| 65 return response; | 65 return response; |
| 66 })); | 66 })); |
| 67 } else { | 67 } else { |
| 68 event.respondWith(new Response( | 68 event.respondWith(new Response( |
| 69 'bodyUsed: ' + lastResponseForUsedCheck.bodyUsed)); | 69 'bodyUsed: ' + lastResponseForUsedCheck.bodyUsed)); |
| 70 } | 70 } |
| 71 } | 71 } |
| 72 | 72 |
| 73 function handleHeaders(event) { | |
| 74 var headers = []; | |
| 75 for (var header of event.request.headers) { | |
| 76 headers.push(header); | |
| 77 } | |
| 78 event.respondWith(new Response(JSON.stringify(headers))); | |
|
yhirano
2016/07/19 07:28:40
You can use Array.from(event.request.headers).
tyoshino (SeeGerritForStatus)
2016/07/19 08:50:31
Done.
| |
| 79 } | |
| 80 | |
| 73 self.addEventListener('fetch', function(event) { | 81 self.addEventListener('fetch', function(event) { |
| 74 var url = event.request.url; | 82 var url = event.request.url; |
| 75 var handlers = [ | 83 var handlers = [ |
| 76 { pattern: '?string', fn: handleString }, | 84 { pattern: '?string', fn: handleString }, |
| 77 { pattern: '?blob', fn: handleBlob }, | 85 { pattern: '?blob', fn: handleBlob }, |
| 78 { pattern: '?referrer', fn: handleReferrer }, | 86 { pattern: '?referrer', fn: handleReferrer }, |
| 79 { pattern: '?clientId', fn: handleClientId }, | 87 { pattern: '?clientId', fn: handleClientId }, |
| 80 { pattern: '?ignore', fn: function() {} }, | 88 { pattern: '?ignore', fn: function() {} }, |
| 81 { pattern: '?null', fn: handleNullBody }, | 89 { pattern: '?null', fn: handleNullBody }, |
| 82 { pattern: '?fetch', fn: handleFetch }, | 90 { pattern: '?fetch', fn: handleFetch }, |
| 83 { pattern: '?form-post', fn: handleFormPost }, | 91 { pattern: '?form-post', fn: handleFormPost }, |
| 84 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith }, | 92 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith }, |
| 85 { pattern: '?used-check', fn: handleUsedCheck } | 93 { pattern: '?used-check', fn: handleUsedCheck }, |
| 94 { pattern: '?headers', fn: handleHeaders } | |
| 86 ]; | 95 ]; |
| 87 | 96 |
| 88 var handler = null; | 97 var handler = null; |
| 89 for (var i = 0; i < handlers.length; ++i) { | 98 for (var i = 0; i < handlers.length; ++i) { |
| 90 if (url.indexOf(handlers[i].pattern) != -1) { | 99 if (url.indexOf(handlers[i].pattern) != -1) { |
| 91 handler = handlers[i]; | 100 handler = handlers[i]; |
| 92 break; | 101 break; |
| 93 } | 102 } |
| 94 } | 103 } |
| 95 | 104 |
| 96 if (handler) { | 105 if (handler) { |
| 97 handler.fn(event); | 106 handler.fn(event); |
| 98 } else { | 107 } else { |
| 99 event.respondWith(new Response(new Blob( | 108 event.respondWith(new Response(new Blob( |
| 100 ['Service Worker got an unexpected request: ' + url]))); | 109 ['Service Worker got an unexpected request: ' + url]))); |
| 101 } | 110 } |
| 102 }); | 111 }); |
| OLD | NEW |