aboutsummaryrefslogtreecommitdiff
path: root/src/client/static/sw.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/static/sw.js')
-rw-r--r--src/client/static/sw.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/client/static/sw.js b/src/client/static/sw.js
new file mode 100644
index 0000000..bd43805
--- /dev/null
+++ b/src/client/static/sw.js
@@ -0,0 +1,29 @@
+/* global importScripts toolbox self */
+
+(global => {
+ 'use strict'
+
+ // Load the sw-toolbox library.
+ importScripts('/components/sw-toolbox/sw-toolbox.js')
+
+ // Ensure that our service worker takes control of the page as soon as possible.
+ global.addEventListener('install', event => event.waitUntil(global.skipWaiting()))
+ global.addEventListener('activate', event => event.waitUntil(global.clients.claim()))
+
+ toolbox.precache([
+ '/',
+ '/hello',
+ '/untisinfo.css',
+ '/javascripts/bundle.js',
+ '/stylesheets/style.css',
+ '/stylesheets/hello.css'
+ ])
+
+ toolbox.router.get('/', toolbox.fastest)
+ toolbox.router.get('/hello', toolbox.fastest)
+
+ toolbox.router.get('/javascripts/bundle.js', toolbox.fastest)
+ toolbox.router.get('/stylesheets/*', toolbox.fastest)
+ toolbox.router.get('/untisinfo.css', toolbox.fastest)
+ toolbox.router.get('/meetingpointProxy/*', toolbox.networkFirst)
+})(self)