Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js

Issue 475533005: [ServiceWorker] Add support of FetchEvent's request.body. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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(['Referrer: ' + event.request.referr er]))); 10 event.respondWith(new Response(new Blob(
11 ['Referrer: ' + event.request.referrer])));
11 } 12 }
12 13
13 function handleNullBody(event) { 14 function handleNullBody(event) {
14 event.respondWith(new Response(null)); 15 event.respondWith(new Response(null));
15 } 16 }
16 17
17 function handleReject(event) { 18 function handleReject(event) {
18 event.respondWith(new Promise(function(resolve, reject) { 19 event.respondWith(new Promise(function(resolve, reject) {
19 reject('rejected!'); 20 reject('rejected!');
20 })); 21 }));
21 } 22 }
22 23
23 function handleFetch(event) { 24 function handleFetch(event) {
24 event.respondWith(fetch('other.html')); 25 event.respondWith(fetch('other.html'));
26 }
27
28 function handleFormPost(event) {
29 event.respondWith(new Promise(function(resolve) {
30 event.request.body.asText()
31 .then(function(result) {
32 resolve(new Response(event.request.method + ':' + result));
33 })
34 }));
25 } 35 }
26 36
27 self.addEventListener('fetch', function(event) { 37 self.addEventListener('fetch', function(event) {
28 var url = event.request.url; 38 var url = event.request.url;
29 var handlers = [ 39 var handlers = [
30 { pattern: '?string', fn: handleString }, 40 { pattern: '?string', fn: handleString },
31 { pattern: '?blob', fn: handleBlob }, 41 { pattern: '?blob', fn: handleBlob },
32 { pattern: '?referrer', fn: handleReferrer }, 42 { pattern: '?referrer', fn: handleReferrer },
33 { pattern: '?ignore', fn: function() {} }, 43 { pattern: '?ignore', fn: function() {} },
34 { pattern: '?null', fn: handleNullBody }, 44 { pattern: '?null', fn: handleNullBody },
35 { pattern: '?reject', fn: handleReject }, 45 { pattern: '?reject', fn: handleReject },
36 { pattern: '?fetch', fn: handleFetch } 46 { pattern: '?fetch', fn: handleFetch },
47 { pattern: '?form-post', fn: handleFormPost }
37 ]; 48 ];
38 49
39 var handler = null; 50 var handler = null;
40 for (var i = 0; i < handlers.length; ++i) { 51 for (var i = 0; i < handlers.length; ++i) {
41 if (url.indexOf(handlers[i].pattern) != -1) { 52 if (url.indexOf(handlers[i].pattern) != -1) {
42 handler = handlers[i]; 53 handler = handlers[i];
43 break; 54 break;
44 } 55 }
45 } 56 }
46 57
47 if (handler) 58 if (handler)
48 handler.fn(event); 59 handler.fn(event);
falken 2014/08/19 04:08:25 style nit: since the else has braces, this if must
horo 2014/08/19 04:46:14 Done.
49 else 60 else {
50 event.respondWith(new Response(new Blob(['Service Worker got an unexpect ed request: ' + url]))); 61 event.respondWith(new Response(new Blob(
51 }); 62 ['Service Worker got an unexpected request: ' + url])));
63 }
64 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698