diff options
| author | rinsuki <428rinsuki+git@gmail.com> | 2022-09-10 19:25:32 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-10 19:25:32 +0900 |
| commit | e60a6cc621faafa1f59bd1407d92a955d5ae5bae (patch) | |
| tree | 8eab1d337535cf11b136baba650f1db8f039f3eb /packages/sw/src | |
| parent | New Crowdin updates (#9047) (diff) | |
| download | misskey-e60a6cc621faafa1f59bd1407d92a955d5ae5bae.tar.gz misskey-e60a6cc621faafa1f59bd1407d92a955d5ae5bae.tar.bz2 misskey-e60a6cc621faafa1f59bd1407d92a955d5ae5bae.zip | |
chore(sw): only proxies HTML requests (#9070)
* chore(sw): only proxies HTML requests
もはやHTMLじゃなさそうなリクエストにはSWで関与しないようにする
こうするといろいろな面倒事が解決するはず…たぶん
Resolve #9037
Resolve #9038
* align code style
* Update packages/sw/src/sw.ts
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Diffstat (limited to 'packages/sw/src')
| -rw-r--r-- | packages/sw/src/sw.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts index 872692f903..92391f1fb8 100644 --- a/packages/sw/src/sw.ts +++ b/packages/sw/src/sw.ts @@ -24,6 +24,16 @@ self.addEventListener('activate', ev => { }); self.addEventListener('fetch', ev => { + let isHTMLRequest = false; + if (ev.request.headers.get('sec-fetch-dest') === 'document') { + isHTMLRequest = true; + } else if (ev.request.headers.get('accept')?.includes('/html')) { + isHTMLRequest = true; + } else if (ev.request.url.endsWith('/')) { + isHTMLRequest = true; + } + + if (!isHTMLRequest) return; ev.respondWith( fetch(ev.request) .catch(() => new Response(`Offline. Service Worker @${_VERSION_}`, { status: 200 })) |