/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/http-cache-agent@1.6.8/dist/http-cache-agent.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __awaiter=this&&this.__awaiter||function(e,t,n,a){return new(n||(n=Promise))((function(r,i){function o(e){try{f(a.next(e))}catch(e){i(e)}}function l(e){try{f(a.throw(e))}catch(e){i(e)}}function f(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,l)}f((a=a.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.clear=exports.reset=exports.cleanup=exports.getCacheFiles=exports.auto=exports.https=exports.http=exports.HTTPSCacheAgent=exports.HTTPCacheAgent=exports.ComlogCacheAgent=void 0;const os_1=__importDefault(require("os")),fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path")),crypto_1=__importDefault(require("crypto")),net_1=__importDefault(require("net")),agent_base_1=require("agent-base"),tls_1=__importDefault(require("tls"));var filepath=os_1.default.tmpdir(),prefix="node_ca_";function getKey(e){let t=e.href||null;t||(t="",e.protocol||(443===e.port?e.protocol="https:":e.protocol="http:"),t+=e.protocol+"//",e.auth&&(t+=e.auth+"@"),t+=e.host,e.port&&(t.indexOf("http:")>-1&&80!==e.port||t.indexOf("https:")>-1&&443!==e.port||t.indexOf("http:")<0&&t.indexOf("https:")<0)&&(t+=":"+e.port),t+=e.pathname||e.path||"/",e.query?t+="?"+e.query:e.search&&(e.href+=e.search));var n=[t];e.method&&n.push(e.method),e.protocol&&n.push(e.protocol),e.headers&&n.push(JSON.stringify(e.headers));var a=crypto_1.default.createHash("md5");return a.update(n.join("|")),a.digest("hex")}function readCacheHeaderSync(e){let t=fs_1.default.openSync(e,"r"),n=Buffer.alloc(1024),a=0;var r=-1,i="",o=0;do{o=fs_1.default.readSync(t,n,a,1024,0),r=n.indexOf("\r\n\r\n"),i+=n.slice(0,r),a+=1024}while(-1===r&&o>0);return fs_1.default.closeSync(t),i}function parseHead(e){for(var t,n={},a=e.split("\r\n"),r=0;r<a.length;r++)""!==a[r]&&(0===r?(t=a[r].split(" "),n.protocol=t[0],n.statusCode=t[1],n.statusMessage=t[2]):a[r].indexOf(":")>-1?n[(t=a[r].split(":")).shift().toLowerCase()]=t.join(":"):n[a[r]]=null);return n}function createCache(e,t){let n=null,a=Buffer.alloc(0),r=-1,i=path_1.default.normalize(path_1.default.dirname(t)+path_1.default.sep+"~"+path_1.default.basename(t));e.on("data",(function(t){if(null!==a){if(a=Buffer.concat([a,t],a.length+t.length),(r=a.indexOf("\r\n\r\n"))>-1){var o=a.slice(r+4,a.length);a=a.slice(0,r+4);var l=parseHead(a.toString());if(l.expires){let t=new Date(l.expires);if((new Date).getTime()<t.getTime())try{n=fs_1.default.openSync(i,"w+")}catch(t){e.emit("http-cache-agent.error",t)}}n&&(fs_1.default.writeSync(n,a),fs_1.default.writeSync(n,o)),a=null}}else n&&fs_1.default.writeSync(n,t)}));let o=null,l=function(){if(n){try{fs_1.default.closeSync(n),fs_1.default.existsSync(t)&&fs_1.default.unlinkSync(t),fs_1.default.renameSync(i,t)}catch(t){e.emit("http-cache-agent.error",t)}n=null}};e.on("error",(function(e){o=e})),e.on("close",l),e.on("end",l)}function isCached(e){try{if(fs_1.default.existsSync(e)){var t=parseHead(readCacheHeaderSync(e));if(t.expires){let e=new Date(t.expires);if((new Date).getTime()<e.getTime())return!0}}}catch(e){}return!1}function CacheSocket(e,t){var n=fs_1.default.createReadStream(e),a="\\\\.\\pipe\\"+Date.now().toString(36);var r=net_1.default.createServer((function(e){e.on("data",(function(t){n.pipe(e),n.on("end",(function(){e.end(),r.close(),n&&n.close()}))}))})),i=new net_1.default.Socket;return r.listen(a,(function(){i.connect(a),t(i)})),i}class ComlogCacheAgent extends agent_base_1.Agent{constructor(e,t){super(e),this.filepath=os_1.default.tmpdir(),this.prefix="node_ca_",this.secureEndpoint=!1,this.agent=t||(e&&e.agent?e.agent:void 0),e?(void 0!==e.filepath&&(this.filepath=e.filepath,delete e.filepath),void 0!==e.prefix&&(this.prefix=e.prefix,delete e.prefix),this.cache=Object.assign({},e)):this.cache={}}getCacheFilePath(e){var t=getKey(e);return path_1.default.normalize(this.filepath+path_1.default.sep+this.prefix+t)+".cache"}callback(e,t,n){return __awaiter(this,void 0,void 0,(function*(){var a=this,r=null,i=this.getCacheFilePath(t),o=!1,l=!1;return isCached(i)&&(o=!0,r=new Promise((function(e,t){CacheSocket(i,(function(n){n.on("connect",(function(){e(n)})),n.on("error",(function(e){t(e)}))}))}))),r||(t=Object.assign(t,a.cache),this.agent&&(this.agent.callback?r=this.agent.callback(e,t,n):this.agent.createConnection&&(r=new Promise((function(e){e(a.agent.createConnection(t,n))})))),r||(r=new Promise((function(e){let n;t.secureEndpoint?(t.servername||(t.servername=t.host||t.hostname||"127.0.0.1"),n=tls_1.default.connect(t)):n=net_1.default.connect(t),e(n)})))),r&&r.then((function(t){o||(o=!0,t.on("http-cache-agent.error",(function(t){e.emit("http-cache-agent.error",t)})),createCache(t,i)),!l&&n&&(n(null,t),l=!0)})).catch((function(e){!l&&n&&(n(e,null),l=!0)})),r}))}}exports.ComlogCacheAgent=ComlogCacheAgent;class HTTPCacheAgent extends ComlogCacheAgent{constructor(e,t){e||(e={}),e.secureEndpoint=!1,super(e,t)}}exports.HTTPCacheAgent=HTTPCacheAgent;class HTTPSCacheAgent extends ComlogCacheAgent{constructor(e,t){e||(e={}),e.secureEndpoint=!0,super(e,t)}}function _opt(e){return e&&"object"==typeof e||(e={}),e.filepath=e.filepath||filepath,e.prefix="string"!=typeof e.prefix?prefix:e.prefix,e}function http(e,t){return e=_opt(e),new HTTPCacheAgent(e,t)}function https(e,t){return e=_opt(e),new HTTPSCacheAgent(e,t)}function auto(e,t){return e=_opt(e),new ComlogCacheAgent(e,t)}function getCacheFiles(e,t){var n;e=_opt(e),n=""!==e.prefix?function(t){return 0===t.indexOf(e.prefix)}:function(){return!0};var a=function(e){let t=e.indexOf(".cache")===e.length-6,n=!0;return prefix&&prefix.length>0&&(n=0===e.indexOf("~")?e.substring(0,prefix.length+1)==="~"+prefix:e.substring(0,prefix.length)===prefix),t&&n};fs_1.default.readdir(e.filepath,(function(e,r){if(e)t&&t(e,null);else{for(var i=[],o=0;o<r.length;o++)n(r[o])&&a(r[o])&&i.push(r[o]);t&&t(null,i)}}))}function cleanup(e,t){"function"!=typeof e||t||(t=e,e=null),getCacheFiles(e=_opt(e),(function(n,a){if(n)t&&t(n);else{if(a)for(var r=0;r<a.length;r++){var i=path_1.default.normalize(e.filepath+path_1.default.sep+a[r]);try{var o=parseHead(readCacheHeaderSync(i));if(o.expires){let e=new Date(o.expires);(new Date).getTime()>e.getTime()&&fs_1.default.unlinkSync(i)}else fs_1.default.unlinkSync(i)}catch(e){n?n.message+="\n"+e.message:n=e}}t&&t(n)}}))}function reset(e,t){"function"!=typeof e||t||(t=e,e=null),e=_opt(e);var n=[];getCacheFiles(e,(function(a,r){if(a)return n.push(a),void(t&&t(n.length>0?n:null));var i=function(t,a){if(t<r.length){var o=r[t],l=path_1.default.normalize(e.filepath+path_1.default.sep+o),f=l+".tmp",c=fs_1.default.createReadStream(l),s=null;c.on("data",(function(e){s||(s=fs_1.default.createWriteStream(f)).on("error",(function(e){n.push(e),c.close()}));var t=e.indexOf("Expires:");if(t>-1){s.write(e.slice(0,t)),s.write("Expires: "+new Date(1970,0,1,1,0,0).toUTCString());var a=e.indexOf("\r\n",t);a>-1&&s.write(e.slice(a))}else s.write(e)})),c.on("error",(function(e){n.push(e)})),c.on("close",(function(){s&&(s.close(),s=null),n.length<1?fs_1.default.unlink(l,(function(e){if(e)return n.push(e),void fs_1.default.unlink(f,(function(e){e&&n.push(e),i(t+1,a)}));fs_1.default.rename(f,l,(function(e){e&&n.push(e),i(t+1,a)}))})):i(t+1,a)}))}else a()};i(0,(function(){t&&t(n.length>0?n:null)}))}))}function clear(e,t){"function"!=typeof e||t||(t=e,e=null),getCacheFiles(e=_opt(e),(function(n,a){if(n)t&&t(n);else if(a){let n=function(r){if(r<a.length){var i=path_1.default.normalize(e.filepath+path_1.default.sep+a[r]);fs_1.default.unlink(i,(function(){n(r+1)}))}else t&&t(null,a)};n(0)}else t&&t(null,a)}))}exports.HTTPSCacheAgent=HTTPSCacheAgent,exports.http=http,exports.https=https,exports.auto=auto,exports.getCacheFiles=getCacheFiles,exports.cleanup=cleanup,exports.reset=reset,exports.clear=clear;try{if(!fs_1.default.statSync(filepath).isDirectory())throw new Error("No temp folder found")}catch(e){for(var check=[path_1.default.dirname(__filename)+path_1.default.sep+"temp",path_1.default.dirname(path_1.default.dirname(__filename))+path_1.default.sep+"temp",path_1.default.dirname(path_1.default.dirname(path_1.default.dirname(__filename)))+path_1.default.sep+"temp",path_1.default.dirname(path_1.default.dirname(path_1.default.dirname(path_1.default.dirname(__filename))))+path_1.default.sep+"temp"];check.length>0;){var p=check.shift();try{if(fs_1.default.statSync(p).isDirectory()){filepath=p;break}}catch(e){}}}
//# sourceMappingURL=/sm/0722342f7ee1ce836372116463e24968a9263f958cd88c9da7c85c90ce286134.map