Newer
Older
WebShareDemo / service-worker.js
root on 25 May 2022 941 bytes initial comit
  1. self.addEventListener('install', (event) => {
  2. console.log('👷', 'install', event);
  3. self.skipWaiting();
  4. });
  5.  
  6. self.addEventListener('activate', (event) => {
  7. console.log('👷', 'activate', event);
  8. return self.clients.claim();
  9. });
  10.  
  11. /*
  12. self.addEventListener('fetch', function(event) {
  13. // console.log('👷', 'fetch', event);
  14. event.respondWith(fetch(event.request));
  15. });
  16. */
  17.  
  18. self.addEventListener('fetch', event => {
  19. console.log('👷', 'fetch', event);
  20. const url = new URL(event.request.url);
  21. // If this is an incoming POST request for the
  22. // registered "action" URL, respond to it.
  23. if (event.request.method === 'POST' &&
  24. url.pathname === 'share.php') {
  25.  
  26. event.respondWith((async () => {
  27. const formData = await event.request.formData();
  28. const link = formData.get('link') || '';
  29. const responseUrl = await saveBookmark(link);
  30. return Response.redirect(responseUrl, 303);
  31. })());
  32. }
  33. });
Buy Me A Coffee