Files
vega-providers/dist/drive/stream.js

1 line
1.8 KiB
JavaScript

"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:url,type:type,signal:signal,providerContext:providerContext}){var _b,_c;const headers=providerContext.commonHeaders;try{if("movie"===type){const html=(yield providerContext.axios.get(url,{headers:headers})).data,$=providerContext.cheerio.load(html);url=$('a:contains("HubCloud")').attr("href")||url}const res=yield providerContext.axios.get(url,{headers:headers});let redirectUrl=null===(_b=res.data.match(/<meta\s+http-equiv="refresh"\s+content="[^"]*?;\s*url=([^"]+)"\s*\/?>/i))||void 0===_b?void 0:_b[1];if(url.includes("/archives/")&&(redirectUrl=null===(_c=res.data.match(/<a\s+[^>]*href="(https:\/\/hubcloud\.[^\/]+\/[^"]+)"/i))||void 0===_c?void 0:_c[1]),!redirectUrl)return yield providerContext.extractors.hubcloudExtracter(url,signal);const data=(yield providerContext.axios.get(redirectUrl,{headers:headers})).data,hubcloudLink=providerContext.cheerio.load(data)(".fa-file-download").parent().attr("href");return yield providerContext.extractors.hubcloudExtracter((null==hubcloudLink?void 0:hubcloudLink.includes("https://hubcloud"))?hubcloudLink:redirectUrl,signal)}catch(err){return[]}})};exports.getStream=getStream;