@@ -525,16 +525,33 @@ <h3>
525525
526526 btn . download = async function ( ) {
527527
528- var jszip = await import ( 'https://cdn.jsdelivr.net/npm/jszip/+esm' ) ;
528+ var err ;
529+ try {
530+
531+ var jszip = await import ( 'https://cdn.jsdelivr.net/npm/jszip/+esm' ) ;
532+
533+ } //try
534+ catch ( err2 ) {
535+
536+ err = err2 ;
537+
538+ } //catcg
539+ if ( err ) {
540+ var error = err . toString ( ) ;
541+ log . red ( `failed to load zip module : ${ error } ` ) ;
542+ return ;
543+ }
544+
529545 jszip = jszip . default ;
530546
547+
531548 var root = `webrtc-file-transfer-http-server` ;
532549
533550 var zip = new jszip ( ) ;
534551 zip . folder ( root ) ;
535-
536- var res = await fetch ( 'https://raw.githubusercontent.com/javascript-2020/ code/main/ nodejs/server/webrtc-file-transfer-http/webrtc-file-transfer-http-server.js') ;
537- var blob = await res . blob ( ) ;
552+
553+ var { blob , error } = await get ( ' code' , ' nodejs/server/webrtc-file-transfer-http/webrtc-file-transfer-http-server.js') ;
554+ if ( error ) return ;
538555 zip . file ( `${ root } /webrtc-file-transfer-http-server.js` , blob ) ;
539556
540557 zip . folder ( `${ root } /node_modules` ) ;
@@ -543,11 +560,12 @@ <h3>
543560 await Promise . all (
544561 libs . map ( async path => {
545562
546- var fn = path . split ( '/' ) . at ( - 1 ) ;
547- var blob = await fetch ( `https://raw.githubusercontent.com/javascript-2020/libs/main/${ path } ` ) . then ( res => res . blob ( ) ) ;
563+ var fn = path . split ( '/' ) . at ( - 1 ) ;
564+ var { blob, error} = await get ( 'libs' , path ) ;
565+ if ( error ) return ;
548566 zip . file ( `${ root } /node_modules/${ fn } ` , blob ) ;
549567
550- } ) ;
568+ } )
551569 ) ;
552570
553571
@@ -559,6 +577,39 @@ <h3>
559577 a . href = url ;
560578 a . click ( ) ;
561579
580+
581+ async function get ( repo , path ) {
582+
583+ var url = `https://raw.githubusercontent.com/javascript-2020/${ repo } /main/${ path } ` ;
584+
585+ var err ;
586+ try {
587+
588+ var res = await fetch ( url ) ;
589+
590+ } //try
591+ catch ( err2 ) {
592+
593+ err = err2 ;
594+
595+ } //catcg
596+ if ( err ) {
597+ var error = err . toString ( ) ;
598+ log . red ( error ) ;
599+ return { error} ;
600+ }
601+ if ( ! res . ok ) {
602+ var txt = await res . text ( ) ;
603+ var error = res . status + ' ' + res . statusText ;
604+ log . red ( error ) ;
605+ return { error} ;
606+ }
607+
608+ var blob = await res . blob ( ) ;
609+ return { blob} ;
610+
611+ } //get
612+
562613 } //download
563614
564615
0 commit comments