OLD | NEW |
(Empty) | |
| 1 <?php |
| 2 header('Content-Type: text/javascript'); |
| 3 echo 'var result = {};' . "\n"; |
| 4 echo 'result["worker_script_header"] = '; |
| 5 if (isset($_SERVER['HTTP_SAVE_DATA'])) { |
| 6 echo '"Save-Data: ' . $_SERVER['HTTP_SAVE_DATA'] . '";' . "\n"; |
| 7 } else { |
| 8 echo '"No Save-Data";' . "\n"; |
| 9 } |
| 10 ?> |
| 11 |
| 12 var CHECK_PATH = './check-save-data-header.php'; |
| 13 var METHODS = ['GET', 'POST', 'PUT']; |
| 14 var REQUESTS = |
| 15 METHODS.map(method => new Request(CHECK_PATH, {method: method})); |
| 16 |
| 17 if (!self.postMessage) { |
| 18 // For Shared Worker |
| 19 var postMessagePromise = |
| 20 new Promise(resolve => { self.postMessage = resolve; }); |
| 21 self.addEventListener('connect', event => { |
| 22 postMessagePromise.then(data => event.ports[0].postMessage(data)); |
| 23 }); |
| 24 } |
| 25 |
| 26 Promise.all(REQUESTS.map(request => fetch(request))) |
| 27 .then(responses => Promise.all(responses.map(response => response.text()))) |
| 28 .then(texts => { |
| 29 for (var i = 0; i < METHODS.length; ++i) { |
| 30 result[METHODS[i]] = texts[i]; |
| 31 } |
| 32 self.postMessage(result); |
| 33 }); |
OLD | NEW |