Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsemantic-release-bot <semantic-release-bot@martynus.net>2022-06-23 22:07:17 +0300
committersemantic-release-bot <semantic-release-bot@martynus.net>2022-06-23 22:07:17 +0300
commit4be86f5151381b34820a9892d3179afe0176fbfb (patch)
tree9de4425b3fdfc62d07cd680e85b3347cbb7f2a4d /sw.min.js
parent2e4f91f668ea867d768291e9efd3e1c1eb825b97 (diff)
chore(release): 1.8.24v1.8.24
## [1.8.24](https://github.com/webtorrent/webtorrent/compare/v1.8.23...v1.8.24) (2022-06-23) ### Bug Fixes * support stream cancelling ([#2335](https://github.com/webtorrent/webtorrent/issues/2335)) ([2e4f91f](https://github.com/webtorrent/webtorrent/commit/2e4f91f668ea867d768291e9efd3e1c1eb825b97))
Diffstat (limited to 'sw.min.js')
-rw-r--r--sw.min.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/sw.min.js b/sw.min.js
index 54f86e1..ccb7ac8 100644
--- a/sw.min.js
+++ b/sw.min.js
@@ -1 +1 @@
-(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module){module.exports=event=>{const{request}=event,{url,method,headers,destination}=request;return url.includes(self.registration.scope+"webtorrent/")?url.includes(self.registration.scope+"webtorrent/keepalive/")?new Response:clients.matchAll({type:"window",includeUncontrolled:!0}).then(clients=>new Promise(resolve=>{for(const client of clients){const messageChannel=new MessageChannel,{port1,port2}=messageChannel;port1.onmessage=event=>{resolve([event.data,messageChannel])},client.postMessage({url,method,headers:Object.fromEntries(headers.entries()),scope:self.registration.scope,destination,type:"webtorrent"},[port2])}})).then(([data,messageChannel])=>{if("STREAM"===data.body||"DOWNLOAD"===data.body){let timeOut=null;return new Response(new ReadableStream({pull(controller){return new Promise(resolve=>{messageChannel.port1.onmessage=event=>{event.data?controller.enqueue(event.data):(clearTimeout(timeOut),controller.close(),messageChannel.port1.onmessage=null),resolve()},clearTimeout(timeOut),"STREAM"===data.body&&(timeOut=setTimeout(()=>{controller.close(),messageChannel.port1.postMessage(!1),messageChannel.port1.onmessage=null,resolve()},5e3)),messageChannel.port1.postMessage(!0)})},cancel(){messageChannel.port1.postMessage(!1)}}),data)}return new Response(data.body,data)}).catch(console.error):null}},{}],2:[function(require){const fileResponse=require("./worker-server.js");self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("fetch",event=>{const res=fileResponse(event);res&&event.respondWith(res)}),self.addEventListener("activate",evt=>{evt.waitUntil(self.clients.claim())})},{"./worker-server.js":1}]},{},[2]); \ No newline at end of file
+(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module){async function serve({request}){const{url,method,headers,destination}=request,clientlist=await clients.matchAll({type:"window",includeUncontrolled:!0}),[data,port]=await new Promise(resolve=>{for(const client of clientlist){const messageChannel=new MessageChannel,{port1,port2}=messageChannel;port1.onmessage=({data})=>{resolve([data,port1])},client.postMessage({url,method,headers:Object.fromEntries(headers.entries()),scope:self.registration.scope,destination,type:"webtorrent"},[port2])}});if("STREAM"!==data.body&&"DOWNLOAD"!==data.body)return new Response(data.body,data);let timeOut=null;return new Response(new ReadableStream({pull(controller){return new Promise(resolve=>{port.onmessage=({data})=>{data?controller.enqueue(data):(clearTimeout(timeOut),controller.close(),port.onmessage=null),resolve()},cancellable||(clearTimeout(timeOut),"STREAM"===data.body&&(timeOut=setTimeout(()=>{controller.close(),port.postMessage(!1),port.onmessage=null,resolve()},portTimeoutDuration))),port.postMessage(!0)})},cancel(){port.postMessage(!1),clearTimeout(timeOut),port.onmessage=null}}),data)}const portTimeoutDuration=5e3;let cancellable=!1;module.exports=event=>{const{url}=event.request;return url.includes(self.registration.scope+"webtorrent/")?url.includes(self.registration.scope+"webtorrent/keepalive/")?new Response:url.includes(self.registration.scope+"webtorrent/cancel/")?new Response(new ReadableStream({cancel(){cancellable=!0}})):serve(event):null}},{}],2:[function(require){const fileResponse=require("./worker-server.js");self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("fetch",event=>{const res=fileResponse(event);res&&event.respondWith(res)}),self.addEventListener("activate",()=>{self.clients.claim()})},{"./worker-server.js":1}]},{},[2]); \ No newline at end of file