mirror of
https://github.com/nlepage/go-wasm-http-server.git
synced 2025-03-10 17:29:10 +00:00
Provide ability to passthrough and hit network
This commit is contained in:
parent
57a311369e
commit
268c971467
6
sw.js
6
sw.js
@ -1,4 +1,4 @@
|
|||||||
function registerWasmHTTPListener(wasm, { base, cacheName, args = [] } = {}) {
|
function registerWasmHTTPListener(wasm, { base, cacheName, passthroughFunc, args = [] } = {}) {
|
||||||
let path = new URL(registration.scope).pathname
|
let path = new URL(registration.scope).pathname
|
||||||
if (base && base !== '') path = `${trimEnd(path, '/')}/${trimStart(base, '/')}`
|
if (base && base !== '') path = `${trimEnd(path, '/')}/${trimStart(base, '/')}`
|
||||||
|
|
||||||
@ -17,6 +17,10 @@ function registerWasmHTTPListener(wasm, { base, cacheName, args = [] } = {}) {
|
|||||||
WebAssembly.instantiateStreaming(source, go.importObject).then(({ instance }) => go.run(instance))
|
WebAssembly.instantiateStreaming(source, go.importObject).then(({ instance }) => go.run(instance))
|
||||||
|
|
||||||
addEventListener('fetch', e => {
|
addEventListener('fetch', e => {
|
||||||
|
if (passthroughFunc && passthroughFunc(e.request)) {
|
||||||
|
e.respondWith(fetch(e.request))
|
||||||
|
return;
|
||||||
|
}
|
||||||
const { pathname } = new URL(e.request.url)
|
const { pathname } = new URL(e.request.url)
|
||||||
if (!pathname.startsWith(path)) return
|
if (!pathname.startsWith(path)) return
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user