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

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

Issue 1280733002: [3/3 blink] Support redirect option of Request and "opaqueredirect" response type. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@Redirect1
Patch Set: add comment Created 5 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 get_query_params(url) { 1 function get_query_params(url) {
2 var search = (new URL(url)).search; 2 var search = (new URL(url)).search;
3 if (!search) { 3 if (!search) {
4 return {}; 4 return {};
5 } 5 }
6 var ret = {}; 6 var ret = {};
7 var params = search.substring(1).split('&'); 7 var params = search.substring(1).split('&');
8 params.forEach(function(param) { 8 params.forEach(function(param) {
9 var element = param.split('='); 9 var element = param.split('=');
10 ret[decodeURIComponent(element[0])] = decodeURIComponent(element[1]); 10 ret[decodeURIComponent(element[0])] = decodeURIComponent(element[1]);
11 }); 11 });
12 return ret; 12 return ret;
13 } 13 }
14 14
15 function get_request_init(params) { 15 function get_request_init(params) {
16 var init = {}; 16 var init = {};
17 if (params['method']) { 17 if (params['method']) {
18 init['method'] = params['method']; 18 init['method'] = params['method'];
19 } 19 }
20 if (params['mode']) { 20 if (params['mode']) {
21 init['mode'] = params['mode']; 21 init['mode'] = params['mode'];
22 } 22 }
23 if (params['credentials']) { 23 if (params['credentials']) {
24 init['credentials'] = params['credentials']; 24 init['credentials'] = params['credentials'];
25 } 25 }
26 if (params['redirect-mode']) {
27 init['redirect'] = params['redirect-mode'];
28 }
26 return init; 29 return init;
27 } 30 }
28 31
29 self.addEventListener('fetch', function(event) { 32 self.addEventListener('fetch', function(event) {
30 var params = get_query_params(event.request.url); 33 var params = get_query_params(event.request.url);
31 var init = get_request_init(params); 34 var init = get_request_init(params);
32 var url = params['url']; 35 var url = params['url'];
33 if (params['ignore']) { 36 if (params['ignore']) {
34 return; 37 return;
35 } 38 }
(...skipping 22 matching lines...) Expand all
58 return; 61 return;
59 } 62 }
60 event.respondWith(new Promise(function(resolve, reject) { 63 event.respondWith(new Promise(function(resolve, reject) {
61 var request = event.request; 64 var request = event.request;
62 if (url) { 65 if (url) {
63 request = new Request(url, init); 66 request = new Request(url, init);
64 } 67 }
65 fetch(request).then(resolve, reject); 68 fetch(request).then(resolve, reject);
66 })); 69 }));
67 }); 70 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698