@ahmadissa/cloudworker-proxy 1.1.84 → 1.1.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
`),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!B.has("X-Amz-Expires")&&B.set("X-Amz-Expires","86400"),B.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),B.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),B.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");_||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=d(this.encodedPath);let Be=new Set;this.encodedSearch=[...this.url.searchParams].filter(([K])=>{if(!K)return!1;if(this.service==="s3"){if(Be.has(K))return!1;Be.add(K)}return!0}).map(K=>K.map(Oe=>d(encodeURIComponent(Oe)))).sort(([K,Oe],[xe,Ge])=>K<xe?-1:K>xe?1:Oe<Ge?-1:Oe>Ge?1:0).map(K=>K.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let f=this.datetime.slice(0,8),h=[this.secretAccessKey,f,this.region,this.service].join(),y=this.cache.get(h);if(!y){let w=await s("AWS4"+this.secretAccessKey,f),m=await s(w,this.region),g=await s(m,this.service);y=await s(g,"aws4_request"),this.cache.set(h,y)}return c(await s(y,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,c(await i(await this.canonicalString()))].join(`
|
|
3
3
|
`)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
|
|
4
4
|
`,this.signedHeaders,await this.hexBodyHash()].join(`
|
|
5
|
-
`)}async hexBodyHash(){let f=this.headers.get("X-Amz-Content-Sha256");if(f==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");f=c(await i(this.body||""))}return f}}async function s(u,f){let h=await crypto.subtle.importKey("raw",typeof u=="string"?t.encode(u):u,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",h,t.encode(f))}async function i(u){return crypto.subtle.digest("SHA-256",typeof u=="string"?t.encode(u):u)}function c(u){return Array.prototype.map.call(new Uint8Array(u),f=>("0"+f.toString(16)).slice(-2)).join("")}function d(u){return u.replace(/[!'()*]/g,f=>"%"+f.charCodeAt(0).toString(16).toUpperCase())}function p(u,f){let{hostname:h,pathname:y}=u,w=h.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[m,g]=(w||["",""]).slice(1,3);if(g==="us-gov")g="us-gov-west-1";else if(g==="s3"||g==="s3-accelerate")g="us-east-1",m="s3";else if(m==="iot")h.startsWith("iot.")?m="execute-api":h.startsWith("data.jobs.iot.")?m="iot-jobs-data":m=y==="/mqtt"?"iotdevicegateway":"iotdata";else if(m==="autoscaling"){let C=(f.get("X-Amz-Target")||"").split(".")[0];C==="AnyScaleFrontendService"?m="application-autoscaling":C==="AnyScaleScalingPlannerFrontendService"&&(m="autoscaling-plans")}else g==null&&m.startsWith("s3-")?(g=m.slice(3).replace(/^fips-|^external-1/,""),m="s3"):m.endsWith("-fips")?m=m.slice(0,-5):g&&/-\d$/.test(m)&&!/-\d$/.test(g)&&([m,g]=[g,m]);return[r[m]||m,g]}e.AwsClient=o,e.AwsV4Signer=a,Object.defineProperty(e,"__esModule",{value:!0})})});var ot=S((zu,vn)=>{var Ss="Expected a function",mn="__lodash_hash_undefined__",yn=1/0,Es=9007199254740991,bs="[object Function]",vs="[object GeneratorFunction]",_s="[object Symbol]",Cs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ps=/^\w*$/,Ts=/^\./,Hs=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ks=/[\\^$.*+?()[\]{}|]/g,Os=/\\(\\)?/g,xs=/^\[object .+?Constructor\]$/,Rs=/^(?:0|[1-9]\d*)$/,Us=typeof global=="object"&&global&&global.Object===Object&&global,Is=typeof self=="object"&&self&&self.Object===Object&&self,qt=Us||Is||Function("return this")();function Ws(e,t){return e?.[t]}function Js(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch{}return t}var Ns=Array.prototype,Ms=Function.prototype,gn=Object.prototype,$t=qt["__core-js_shared__"],pn=function(){var e=/[^.]+$/.exec($t&&$t.keys&&$t.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),wn=Ms.toString,tt=gn.hasOwnProperty,An=gn.toString,Ds=RegExp("^"+wn.call(tt).replace(Ks,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fn=qt.Symbol,ks=Ns.splice,$s=Sn(qt,"Map"),Ue=Sn(Object,"create"),hn=fn?fn.prototype:void 0,ln=hn?hn.toString:void 0;function ye(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function qs(){this.__data__=Ue?Ue(null):{}}function Fs(e){return this.has(e)&&delete this.__data__[e]}function Ls(e){var t=this.__data__;if(Ue){var r=t[e];return r===mn?void 0:r}return tt.call(t,e)?t[e]:void 0}function Bs(e){var t=this.__data__;return Ue?t[e]!==void 0:tt.call(t,e)}function Gs(e,t){var r=this.__data__;return r[e]=Ue&&t===void 0?mn:t,this}ye.prototype.clear=qs;ye.prototype.delete=Fs;ye.prototype.get=Ls;ye.prototype.has=Bs;ye.prototype.set=Gs;function be(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Vs(){this.__data__=[]}function zs(e){var t=this.__data__,r=rt(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():ks.call(t,r,1),!0}function js(e){var t=this.__data__,r=rt(t,e);return r<0?void 0:t[r][1]}function Xs(e){return rt(this.__data__,e)>-1}function Ys(e,t){var r=this.__data__,n=rt(r,e);return n<0?r.push([e,t]):r[n][1]=t,this}be.prototype.clear=Vs;be.prototype.delete=zs;be.prototype.get=js;be.prototype.has=Xs;be.prototype.set=Ys;function ge(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Zs(){this.__data__={hash:new ye,map:new($s||be),string:new ye}}function Qs(e){return nt(this,e).delete(e)}function ei(e){return nt(this,e).get(e)}function ti(e){return nt(this,e).has(e)}function ri(e,t){return nt(this,e).set(e,t),this}ge.prototype.clear=Zs;ge.prototype.delete=Qs;ge.prototype.get=ei;ge.prototype.has=ti;ge.prototype.set=ri;function ni(e,t,r){var n=e[t];(!(tt.call(e,t)&&En(n,r))||r===void 0&&!(t in e))&&(e[t]=r)}function rt(e,t){for(var r=e.length;r--;)if(En(e[r][0],t))return r;return-1}function oi(e){if(!et(e)||pi(e))return!1;var t=mi(e)||Js(e)?Ds:xs;return t.test(li(e))}function ai(e,t,r,n){if(!et(e))return e;t=ui(t,e)?[t]:ii(t);for(var o=-1,a=t.length,s=a-1,i=e;i!=null&&++o<a;){var c=hi(t[o]),d=r;if(o!=s){var p=i[c];d=n?n(p,c,i):void 0,d===void 0&&(d=et(p)?p:ci(t[o+1])?[]:{})}ni(i,c,d),i=i[c]}return e}function si(e){if(typeof e=="string")return e;if(Lt(e))return ln?ln.call(e):"";var t=e+"";return t=="0"&&1/e==-yn?"-0":t}function ii(e){return bn(e)?e:fi(e)}function nt(e,t){var r=e.__data__;return di(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Sn(e,t){var r=Ws(e,t);return oi(r)?r:void 0}function ci(e,t){return t=t??Es,!!t&&(typeof e=="number"||Rs.test(e))&&e>-1&&e%1==0&&e<t}function ui(e,t){if(bn(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Lt(e)?!0:Ps.test(e)||!Cs.test(e)||t!=null&&e in Object(t)}function di(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function pi(e){return!!pn&&pn in e}var fi=Ft(function(e){e=gi(e);var t=[];return Ts.test(e)&&t.push(""),e.replace(Hs,function(r,n,o,a){t.push(o?a.replace(Os,"$1"):n||r)}),t});function hi(e){if(typeof e=="string"||Lt(e))return e;var t=e+"";return t=="0"&&1/e==-yn?"-0":t}function li(e){if(e!=null){try{return wn.call(e)}catch{}try{return e+""}catch{}}return""}function Ft(e,t){if(typeof e!="function"||t&&typeof t!="function")throw new TypeError(Ss);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var s=e.apply(this,n);return r.cache=a.set(o,s),s};return r.cache=new(Ft.Cache||ge),r}Ft.Cache=ge;function En(e,t){return e===t||e!==e&&t!==t}var bn=Array.isArray;function mi(e){var t=et(e)?An.call(e):"";return t==bs||t==vs}function et(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function yi(e){return!!e&&typeof e=="object"}function Lt(e){return typeof e=="symbol"||yi(e)&&An.call(e)==_s}function gi(e){return e==null?"":si(e)}function wi(e,t,r){return e==null?e:ai(e,t,r)}vn.exports=wi});var On=S(zt=>{"use strict";zt.parse=Pi;zt.serialize=Ti;var vi=decodeURIComponent,_i=encodeURIComponent,Ci=/; */,st=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function Pi(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");for(var r={},n=t||{},o=e.split(Ci),a=n.decode||vi,s=0;s<o.length;s++){var i=o[s],c=i.indexOf("=");if(!(c<0)){var d=i.substr(0,c).trim(),p=i.substr(++c,i.length).trim();p[0]=='"'&&(p=p.slice(1,-1)),r[d]==null&&(r[d]=Hi(p,a))}}return r}function Ti(e,t,r){var n=r||{},o=n.encode||_i;if(typeof o!="function")throw new TypeError("option encode is invalid");if(!st.test(e))throw new TypeError("argument name is invalid");var a=o(t);if(a&&!st.test(a))throw new TypeError("argument val is invalid");var s=e+"="+a;if(n.maxAge!=null){var i=n.maxAge-0;if(isNaN(i)||!isFinite(i))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(i)}if(n.domain){if(!st.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!st.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.sameSite){var c=typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite;switch(c){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function Hi(e,t){try{return t(e)}catch{return e}}});var Rn=S((fd,xn)=>{"use strict";var it=1;function Ki(){return it=(it*9301+49297)%233280,it/233280}function Oi(e){it=e}xn.exports={nextValue:Ki,seed:Oi}});var Ne=S((hd,Jn)=>{"use strict";var jt=Rn(),Ae="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-",ae,Un,Je;function Xt(){Je=!1}function In(e){if(!e){ae!==Ae&&(ae=Ae,Xt());return}if(e!==ae){if(e.length!==Ae.length)throw new Error("Custom alphabet for shortid must be "+Ae.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter(function(r,n,o){return n!==o.lastIndexOf(r)});if(t.length)throw new Error("Custom alphabet for shortid must be "+Ae.length+" unique characters. These characters were not unique: "+t.join(", "));ae=e,Xt()}}function xi(e){return In(e),ae}function Ri(e){jt.seed(e),Un!==e&&(Xt(),Un=e)}function Ui(){ae||In(Ae);for(var e=ae.split(""),t=[],r=jt.nextValue(),n;e.length>0;)r=jt.nextValue(),n=Math.floor(r*e.length),t.push(e.splice(n,1)[0]);return t.join("")}function Wn(){return Je||(Je=Ui(),Je)}function Ii(e){var t=Wn();return t[e]}function Wi(){return ae||Ae}Jn.exports={get:Wi,characters:xi,seed:Ri,lookup:Ii,shuffled:Wn}});var Mn=S((ld,Nn)=>{"use strict";var Yt=typeof window=="object"&&(window.crypto||window.msCrypto),Zt;!Yt||!Yt.getRandomValues?Zt=function(e){for(var t=[],r=0;r<e;r++)t.push(Math.floor(Math.random()*256));return t}:Zt=function(e){return Yt.getRandomValues(new Uint8Array(e))};Nn.exports=Zt});var kn=S((md,Dn)=>{Dn.exports=function(e,t,r){for(var n=(2<<Math.log(t.length-1)/Math.LN2)-1,o=-~(1.6*n*r/t.length),a="";;)for(var s=e(o),i=o;i--;)if(a+=t[s[i]&n]||"",a.length===+r)return a}});var qn=S((yd,$n)=>{"use strict";var Ji=Ne(),Ni=Mn(),Mi=kn();function Di(e){for(var t=0,r,n="";!r;)n=n+Mi(Ni,Ji.get(),1),r=e<Math.pow(16,t+1),t++;return n}$n.exports=Di});var Bn=S((wd,Ln)=>{"use strict";var ct=qn(),gd=Ne(),ki=1567752802062,$i=7,ut,Fn;function qi(e){var t="",r=Math.floor((Date.now()-ki)*.001);return r===Fn?ut++:(ut=0,Fn=r),t=t+ct($i),t=t+ct(e),ut>0&&(t=t+ct(ut)),t=t+ct(r),t}Ln.exports=qi});var Vn=S((Ad,Gn)=>{"use strict";var Fi=Ne();function Li(e){if(!e||typeof e!="string"||e.length<6)return!1;var t=new RegExp("[^"+Fi.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]");return!t.test(e)}Gn.exports=Li});var jn=S((Sd,zn)=>{"use strict";zn.exports=0});var Zn=S((Ed,re)=>{"use strict";var Qt=Ne(),Bi=Bn(),Gi=Vn(),Xn=jn()||0;function Vi(e){return Qt.seed(e),re.exports}function zi(e){return Xn=e,re.exports}function ji(e){return e!==void 0&&Qt.characters(e),Qt.shuffled()}function Yn(){return Bi(Xn)}re.exports=Yn;re.exports.generate=Yn;re.exports.seed=Vi;re.exports.worker=zi;re.exports.characters=ji;re.exports.isValid=Gi});var eo=S((bd,Qn)=>{"use strict";Qn.exports=Zn()});var Ro=O(qr());var rn=O(V()),es={get:rn.default};function Kt(e){e.status=401,e.body="Unauthorized",e.set("WWW-Authenticate","Basic")}function Ot(e){return async(t,r)=>{if(t.request.path===e.logoutPath)return Kt(t);let n=es.get(t,"request.headers.authorization");if(!n||!n.startsWith("Basic "))return Kt(t);let o=e.users.map(i=>i.authToken),a=n.substring(6),s=o.indexOf(a);return s===-1?Kt(t):(t.state.user=e.users[s].username,r(t))}}var nn=caches.default;async function ts(e){return await nn.match(e)}async function rs(e,t){return nn.put(e.href,t)}var xt={get:ts,set:rs};async function ns(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(a=>a.toString(16).padStart(2,"0")).join("")}var on=ns;function os(e,t={}){return Object.keys(t).reduce((r,n)=>r.replace(`{${n}}`,t[n]),e)}function Rt(e){return[...e].reduce((t,r)=>{let n={};return n[r[0]]=r[1],{...t,...n}},{})}var v={resolveParams:os,instanceToJson:Rt};var as=["x-ratelimit-count","x-ratelimit-limit","x-ratelimit-reset","x-cache-hit"];async function ss(e){return["POST","PATCH","PUT","DELETE"].indexOf(e.method)===-1?null:e.text()}async function is(e,t){if(!t)return e.event.request;let r=t.match(/{.*?}/gi).map(a=>a.slice(1,-1)),n={};for(let a=0;a<r.length;a+=1){let s=r[a],i=s.split(":");switch(i[0]){case"method":n[s]=e.request.method;break;case"path":n[s]=e.request.path;break;case"bodyHash":n[s]=await on(await ss(e.request));break;case"header":n[s]=e.request.headers[i[1]]||"";break;default:n[s]=s}}let o=encodeURIComponent(t.replace(/({(.*?)})/gi,(a,s,i)=>n[i]));return new Request(`http://${e.request.hostname}/${o}`)}function Ut({cacheDuration:e,cacheKeyTemplate:t,headerBlacklist:r=as}){return async(n,o)=>{let a=await is(n,t),s=await xt.get(a);if(s){n.body=s.body,n.status=s.status;let i=Rt(s.headers);Object.keys(i).forEach(c=>{n.set(c,i[c])}),n.set("X-Cache-Hit",!0)}else{await o(n);let i;n.body.tee?[n.body,i]=n.body.tee():i=n.body;let c=new Response(i,{status:n.status});Object.keys(n.response.headers).forEach(d=>{r.indexOf(d.toLowerCase())===-1&&c.headers.set(d,n.response.headers[d])}),e&&(c.headers.delete("Cache-Control"),c.headers.set("Cache-Control",`max-age=${e}`)),n.event.waitUntil(xt.set(a,c))}}}function It({allowedOrigins:e=["*"],allowedMethods:t=["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS"],allowCredentials:r=!0,allowedHeaders:n=["Content-Type"],allowedExposeHeaders:o=[],maxAge:a=600,optionsSuccessStatus:s=204,terminatePreflight:i=!1}){return async(c,d)=>{let{method:p}=c.request,{origin:u}=c.request.headers,f=c.request.headers["access-control-request-headers"];if(console.log("---------------------1"+JSON.stringify(c.response.headers)),cs(c,u,e),console.log("---------------------2"+JSON.stringify(c.response.headers)),us(c,r),console.log("---------------------3"+JSON.stringify(c.response.headers)),hs(c,o),console.log("---------------------4"+JSON.stringify(c.response.headers)),p==="OPTIONS"&&(ds(c,t),ps(c,f,n),fs(c,a),i)){c.status=s,c.set("Content-Length","0"),c.body="";return}await d(c)}}function cs(e,t,r){Array.isArray(r)&&(r[0]==="*"?e.set("Access-Control-Allow-Origin","*"):r.indexOf(t)!==-1&&(e.set("Access-Control-Allow-Origin",t),e.set("Vary","Origin")))}function us(e,t){t&&e.set("Access-Control-Allow-Credentials",t)}function ds(e,t){e.set("Access-Control-Allow-Methods",t.join(","))}function ps(e,t,r){r.length===0&&t?e.set("Access-Control-Allow-Headers",t):r.length&&e.set("Access-Control-Allow-Headers",r.join(","))}function fs(e,t){t&&e.set("Access-Control-Max-Age",t)}function hs(e,t){t.length&&e.set("Access-Control-Expose-Headers",t.join(","))}var ls={AF:"AS",AL:"EU",AQ:"AN",DZ:"AF",AS:"OC",AD:"EU",AO:"AF",AG:"NA",AZ:"EU",AR:"SA",AU:"OC",AT:"EU",BS:"NA",BH:"AS",BD:"AS",AM:"EU",BB:"NA",BE:"EU",BM:"NA",BT:"AS",BO:"SA",BA:"EU",BW:"AF",BV:"AN",BR:"SA",BZ:"NA",IO:"AS",SB:"OC",VG:"NA",BN:"AS",BG:"EU",MM:"AS",BI:"AF",BY:"EU",KH:"AS",CM:"AF",CA:"NA",CV:"AF",KY:"NA",CF:"AF",LK:"AS",TD:"AF",CL:"SA",CN:"AS",TW:"AS",CX:"AS",CC:"AS",CO:"SA",KM:"AF",YT:"AF",CG:"AF",CD:"AF",CK:"OC",CR:"NA",HR:"EU",CU:"NA",CY:"EU",CZ:"EU",BJ:"AF",DK:"EU",DM:"NA",DO:"NA",EC:"SA",SV:"NA",GQ:"AF",ET:"AF",ER:"AF",EE:"EU",FO:"EU",FK:"SA",GS:"AN",FJ:"OC",FI:"EU",AX:"EU",FR:"EU",GF:"SA",PF:"OC",TF:"AN",DJ:"AF",GA:"AF",GE:"EU",GM:"AF",PS:"AS",DE:"EU",GH:"AF",GI:"EU",KI:"OC",GR:"EU",GL:"NA",GD:"NA",GP:"NA",GU:"OC",GT:"NA",GN:"AF",GY:"SA",HT:"NA",HM:"AN",VA:"EU",HN:"NA",HK:"AS",HU:"EU",IS:"EU",IN:"AS",ID:"AS",IR:"AS",IQ:"AS",IE:"EU",IL:"AS",IT:"EU",CI:"AF",JM:"NA",JP:"AS",KZ:"EU",JO:"AS",KE:"AF",KP:"AS",KR:"AS",KW:"AS",KG:"AS",LA:"AS",LB:"AS",LS:"AF",LV:"EU",LR:"AF",LY:"AF",LI:"EU",LT:"EU",LU:"EU",MO:"AS",MG:"AF",MW:"AF",MY:"AS",MV:"AS",ML:"AF",MT:"EU",MQ:"NA",MR:"AF",MU:"AF",MX:"NA",MC:"EU",MN:"AS",MD:"EU",ME:"EU",MS:"NA",MA:"AF",MZ:"AF",OM:"AS",NA:"AF",NR:"OC",NP:"AS",NL:"EU",AN:"NA",CW:"NA",AW:"NA",SX:"NA",BQ:"NA",NC:"OC",VU:"OC",NZ:"OC",NI:"NA",NE:"AF",NG:"AF",NU:"OC",NF:"OC",NO:"EU",MP:"OC",UM:"OC",FM:"OC",MH:"OC",PW:"OC",PK:"AS",PA:"NA",PG:"OC",PY:"SA",PE:"SA",PH:"AS",PN:"OC",PL:"EU",PT:"EU",GW:"AF",TL:"AS",PR:"NA",QA:"AS",RE:"AF",RO:"EU",RU:"EU",RW:"AF",BL:"NA",SH:"AF",KN:"NA",AI:"NA",LC:"NA",MF:"NA",PM:"NA",VC:"NA",SM:"EU",ST:"AF",SA:"AS",SN:"AF",RS:"EU",SC:"AF",SL:"AF",SG:"AS",SK:"EU",VN:"AS",SI:"EU",SO:"AF",ZA:"AF",ZW:"AF",ES:"EU",SS:"AF",EH:"AF",SD:"AF",SR:"SA",SJ:"EU",SZ:"AF",SE:"EU",CH:"EU",SY:"AS",TJ:"AS",TH:"AS",TG:"AF",TK:"OC",TO:"OC",TT:"NA",AE:"AS",TN:"AF",TR:"EU",TM:"AS",TC:"NA",TV:"OC",UG:"AF",UA:"EU",MK:"EU",EG:"AF",GB:"EU",GG:"EU",JE:"EU",IM:"EU",TZ:"AF",US:"NA",VI:"NA",BF:"AF",UY:"SA",UZ:"AS",VE:"SA",WF:"OC",WS:"OC",YE:"AS",ZM:"AF",XX:"XX"};function Wt(){return async(e,t)=>{let r=e.request.headers["cf-ipcountry"]||"XX";e.request.headers["proxy-continent"]=ls[r],await t(e)}}function an(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=atob(t),n=Uint8Array.from(r,o=>o.charCodeAt(0));return new TextDecoder().decode(n)}function ms(e){let t=e.split("."),r=JSON.parse(an(t[0])),n=JSON.parse(an(t[1])),o=atob(t[2].replace(/-/g,"+").replace(/_/g,"/"));return{header:r,payload:n,signature:o,raw:{header:t[0],payload:t[1],signature:t[2]}}}function Jt({jwksUri:e,iss:t,aud:r,allowPublicAccess:n=!1}){async function o(){return(await(await fetch(e)).json()).keys}function a(c){return c.status=403,c.body="Forbidden",c}async function s(c){let p=new TextEncoder().encode([c.raw.header,c.raw.payload].join(".")),u=new Uint8Array(Array.from(c.signature).map(y=>y.charCodeAt(0))),f=await o();return(await Promise.all(f.map(async y=>{let w=await crypto.subtle.importKey("jwk",y,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",w,u,p)}))).some(y=>y)}async function i(c,d){if(c.request.method==="OPTIONS"||n)return d(c);if((c.request.headers.authorization||"").toLowerCase().startsWith("bearer")){let u=ms(c.request.headers.authorization.slice(7)),f=new Date(u.payload.exp*1e3),h=new Date(Date.now());return f<=h||!t||u.payload.iss!==t||!r||u.payload.aud!==r||!await s(u)?a(c):(c.state.user=u.payload,d(c))}return a(c)}return i}var sn=O(V()),ys={get:sn.default},me=class{constructor({accountId:t,namespace:r,authEmail:n,authKey:o,ttl:a}){this.accountId=t,this.namespace=r,this.authEmail=n,this.authKey=o,this.ttl=a}getNamespaceUrl(){return new URL(`https://api.cloudflare.com/client/v4/accounts/${this.accountId}/storage/kv/namespaces/${this.namespace}`)}getUrlForKey(t){return new URL(`${this.getNamespaceUrl()}/values/${t}`)}async list(t,r=10){let n=`${this.getNamespaceUrl()}/keys?prefix=${t}&limit=${r}`,o=await fetch(n,{headers:{"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey}});return o.ok?o.json():null}async get(t,r){let n=this.getUrlForKey(t),o=await fetch(n,{headers:{"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey}});if(o.ok)switch(r){case"json":return o.json();case"stream":return o;case"arrayBuffer":return o.arrayBuffer();default:return o.text()}return null}async getWithMetadata(t,r){let[n,o]=await Promise.all([this.get(t,r),this.list(t)]),a=ys.get(o,"result.0.metadata",{});return{value:n,metadata:a}}async put(t,r,n={}){let o=this.getUrlForKey(t),a=new URLSearchParams;this.ttl&&a.append("expiration_ttl",this.ttl.toString());let s={"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey};o.search=a.toString();let i=new FormData;return i.append("value",r),i.append("metadata",JSON.stringify(n)),(await fetch(o.toString(),{method:"PUT",headers:s,body:r})).ok}async delete(t){let r=this.getUrlForKey(t);return fetch(r,{method:"DELETE",headers:{"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey}})}};var N={methodsMethodsWithBody:["POST","PUT","PATCH"],http:{statusMessages:{404:"Not Found"}},mime:{css:"text/css",csv:"text/csv",html:"text/html",ico:"image/microsoft.vnd.icon",jpeg:"image/jpeg",js:"application/javascript",json:"application/json",png:"image/png",svg:"image/svg+xml",xml:"application/xml"}};function gs(e,t,r){if(e==="/"&&r)return r;let n=e.split("/").pop();return n.split(".").pop()!==n?e:`${e}.${t}`}function Nt({kvAccountId:e,kvNamespace:t,kvAuthEmail:r,kvAuthKey:n,kvBasePath:o="",kvKey:a="{file}",defaultExtension:s="html",defaultIndexDocument:i,defaultErrorDocument:c,mime:d={},mode:p="rest"}){let u=new me({accountId:e,namespace:t,authEmail:r,authKey:n,mode:p}),f={...N.mime,...d};return async h=>{let y=v.resolveParams(a,h.params),w=y===""&&i?i:gs(y,s),m=await u.get(o+w);!m&&c&&(m=await u.get(o+c)),m?(h.status=200,h.body=m,h.set("Content-Type",f[w.split(".").pop()]||"text/plain")):(h.status=404,h.body=N.http.statusMessages[404],h.set("Content-Type","text/plain"))}}var cn=O(V());var Mt={get:cn.default};function ws(e,t,r){if(e==="/"&&r)return r;let n=e.split("/").pop();return n.split(".").pop()!==n?e:`${e}.${t}`}function As(e,t){let r=Mt.get(e,"headers.if-none-match"),n=Mt.get(t,"metadata.headers.etag");return r?r===n:!1}function Dt({kvNamespaceBinding:e,kvBasePath:t="",kvKey:r="{file}",defaultExtension:n="html",defaultIndexDocument:o,defaultErrorDocument:a}){async function s(i){return await global[e].getWithMetadata(i)}return async i=>{let c=v.resolveParams(r,i.params),d=c===""&&o?o:ws(c,n),p=await s(t+d);if(!p&&a&&(p=await s(t+a)),p)if(As(i.request,p))i.status=304;else{i.status=p.status,i.body=p.value;let u=Mt.get(p,"metadata.headers",{});Object.keys(u).forEach(f=>{i.set(f,u[f])})}else i.status=404,i.body=N.http.statusMessages[404],i.set("Content-Type","text/plain")}}var dn=O(Qe());function kt({accessKeyId:e,secretAccessKey:t,region:r,lambdaName:n}){let o=new dn.AwsClient({accessKeyId:e,secretAccessKey:t});return async a=>{let s=`https://lambda.${r}.amazonaws.com/2015-03-31/functions/${n}/invocations`,i={},c=await o.fetch(s,{body:JSON.stringify(i)});a.status=c.status,a.body=c.body;let d=v.instanceToJson(c.headers);Object.keys(d).forEach(p=>{a.set(p,d[p])})}}var Cn=O(V()),Pn=O(ot());var _n={get:Cn.default,set:Pn.default};function Ai(e){let t={};return Object.keys(e).forEach(r=>{r.startsWith("cf")||(t[r]=e[r])}),t}function Si(e){return e[Math.floor(Math.random()*e.length)]}function Bt({sources:e=[]}){return async t=>{let r=Si(e),n={method:t.request.method,headers:Ai(t.request.headers),redirect:"manual",cf:t.request.cf};if(N.methodsMethodsWithBody.indexOf(t.request.method)!==-1&&_n.get(t,"event.request.body")){let i=t.event.request.clone();n.body=i.body}let o=v.resolveParams(r.url,t.params);if(r.resolveOverride){let i=v.resolveParams(r.resolveOverride,t.request.params);_n.set(n,"cf.resolveOverride",i)}let a=await fetch(o+t.request.search,n);t.body=a.body,t.status=a.status;let s=v.instanceToJson(a.headers);Object.keys(s).forEach(i=>{t.set(i,s[i])})}}var Kn=O(V());var Gt={name:"@ahmadissa/cloudworker-proxy",version:"1.1.84",description:"An api gateway for cloudflare workers",license:"MIT",repository:{type:"git",url:"git+https://github.com/ahmadissa/cloudworker-proxy.git"},bugs:{url:"https://github.com/ahmadissa/cloudworker-proxy/issues"},homepage:"https://github.com/ahmadissa/cloudworker-proxy#readme",author:"Ahmad Issa",keywords:["cloudflare","workers","api","gateway","proxy"],main:"dist/index.js",files:["dist/**"],scripts:{build:"esbuild --bundle src/index.ts --format=cjs --outdir=dist --sourcemap --minify",lint:"eslint src",package:"bun install; npm run build",test:"npm run unit && npm run lint","test:integration":"node integration/run.js",unit:"bun test","semantic-release":"semantic-release",prepare:"husky install"},release:{branches:["master"],plugins:["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/npm",{npmPublish:!1}],["@semantic-release/git",{assets:["docs","package.json"],message:"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]]},dependencies:{aws4fetch:"1.0.13",build:"^0.1.4","cloudworker-router":"^4.1.5",cookie:"0.4.1",jose:"^5.1.0","lodash.get":"4.4.2","lodash.set":"4.3.2",package:"^1.0.1",redaxios:"^0.5.1",shortid:"2.2.16"},devDependencies:{"@semantic-release/git":"^10.0.1","@types/jest":"^29.5.5","@types/mocha":"^10.0.1","@types/node":"^20.5.9","@typescript-eslint/eslint-plugin":"^6.6.0","@typescript-eslint/parser":"^6.6.0",bun:"1.0.3",dotenv:"8.2.0",esbuild:"^0.19.2",eslint:"7.13.0","eslint-config-airbnb-base":"14.2.1","eslint-config-prettier":"6.15.0","eslint-plugin-import":"2.22.1","eslint-plugin-prettier":"3.1.4","fetch-mock":"9.11.0",husky:"^8.0.3","node-fetch":"2.6.1",prettier:"2.1.2","semantic-release":"^22.0.4",typescript:"^5.2.2",wrangler:"^3.7.0"},directories:{example:"examples",test:"test"}};var we=class{constructor({maxSize:t=10,maxSeconds:r=10,sink:n}){this.maxSize=t,this.maxSeconds=r,this.queue=[],this.sink=n,this.flushing=!1,this.timer=null}async push(t){return this.queue.push(t),this.queue.length>this.maxSize?this.flush():(this.timer||(this.timer=new Promise((r,n)=>{this.resolveTimer=r,this.rejectTimer=n,this.cancelationToken=setTimeout(async()=>{try{r(await this.flush())}catch(o){n(o)}},this.maxSeconds*1e3)})),this.timer)}async flush(){if(!this.flushing){this.flushing=!0;try{let t=this.queue.join(`
|
|
5
|
+
`)}async hexBodyHash(){let f=this.headers.get("X-Amz-Content-Sha256");if(f==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");f=c(await i(this.body||""))}return f}}async function s(u,f){let h=await crypto.subtle.importKey("raw",typeof u=="string"?t.encode(u):u,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",h,t.encode(f))}async function i(u){return crypto.subtle.digest("SHA-256",typeof u=="string"?t.encode(u):u)}function c(u){return Array.prototype.map.call(new Uint8Array(u),f=>("0"+f.toString(16)).slice(-2)).join("")}function d(u){return u.replace(/[!'()*]/g,f=>"%"+f.charCodeAt(0).toString(16).toUpperCase())}function p(u,f){let{hostname:h,pathname:y}=u,w=h.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[m,g]=(w||["",""]).slice(1,3);if(g==="us-gov")g="us-gov-west-1";else if(g==="s3"||g==="s3-accelerate")g="us-east-1",m="s3";else if(m==="iot")h.startsWith("iot.")?m="execute-api":h.startsWith("data.jobs.iot.")?m="iot-jobs-data":m=y==="/mqtt"?"iotdevicegateway":"iotdata";else if(m==="autoscaling"){let C=(f.get("X-Amz-Target")||"").split(".")[0];C==="AnyScaleFrontendService"?m="application-autoscaling":C==="AnyScaleScalingPlannerFrontendService"&&(m="autoscaling-plans")}else g==null&&m.startsWith("s3-")?(g=m.slice(3).replace(/^fips-|^external-1/,""),m="s3"):m.endsWith("-fips")?m=m.slice(0,-5):g&&/-\d$/.test(m)&&!/-\d$/.test(g)&&([m,g]=[g,m]);return[r[m]||m,g]}e.AwsClient=o,e.AwsV4Signer=a,Object.defineProperty(e,"__esModule",{value:!0})})});var ot=S((zu,vn)=>{var Ss="Expected a function",mn="__lodash_hash_undefined__",yn=1/0,Es=9007199254740991,bs="[object Function]",vs="[object GeneratorFunction]",_s="[object Symbol]",Cs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ps=/^\w*$/,Ts=/^\./,Hs=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ks=/[\\^$.*+?()[\]{}|]/g,Os=/\\(\\)?/g,xs=/^\[object .+?Constructor\]$/,Rs=/^(?:0|[1-9]\d*)$/,Us=typeof global=="object"&&global&&global.Object===Object&&global,Is=typeof self=="object"&&self&&self.Object===Object&&self,qt=Us||Is||Function("return this")();function Ws(e,t){return e?.[t]}function Js(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch{}return t}var Ns=Array.prototype,Ms=Function.prototype,gn=Object.prototype,$t=qt["__core-js_shared__"],pn=function(){var e=/[^.]+$/.exec($t&&$t.keys&&$t.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),wn=Ms.toString,tt=gn.hasOwnProperty,An=gn.toString,Ds=RegExp("^"+wn.call(tt).replace(Ks,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fn=qt.Symbol,ks=Ns.splice,$s=Sn(qt,"Map"),Ue=Sn(Object,"create"),hn=fn?fn.prototype:void 0,ln=hn?hn.toString:void 0;function ye(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function qs(){this.__data__=Ue?Ue(null):{}}function Fs(e){return this.has(e)&&delete this.__data__[e]}function Ls(e){var t=this.__data__;if(Ue){var r=t[e];return r===mn?void 0:r}return tt.call(t,e)?t[e]:void 0}function Bs(e){var t=this.__data__;return Ue?t[e]!==void 0:tt.call(t,e)}function Gs(e,t){var r=this.__data__;return r[e]=Ue&&t===void 0?mn:t,this}ye.prototype.clear=qs;ye.prototype.delete=Fs;ye.prototype.get=Ls;ye.prototype.has=Bs;ye.prototype.set=Gs;function be(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Vs(){this.__data__=[]}function zs(e){var t=this.__data__,r=rt(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():ks.call(t,r,1),!0}function js(e){var t=this.__data__,r=rt(t,e);return r<0?void 0:t[r][1]}function Xs(e){return rt(this.__data__,e)>-1}function Ys(e,t){var r=this.__data__,n=rt(r,e);return n<0?r.push([e,t]):r[n][1]=t,this}be.prototype.clear=Vs;be.prototype.delete=zs;be.prototype.get=js;be.prototype.has=Xs;be.prototype.set=Ys;function ge(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Zs(){this.__data__={hash:new ye,map:new($s||be),string:new ye}}function Qs(e){return nt(this,e).delete(e)}function ei(e){return nt(this,e).get(e)}function ti(e){return nt(this,e).has(e)}function ri(e,t){return nt(this,e).set(e,t),this}ge.prototype.clear=Zs;ge.prototype.delete=Qs;ge.prototype.get=ei;ge.prototype.has=ti;ge.prototype.set=ri;function ni(e,t,r){var n=e[t];(!(tt.call(e,t)&&En(n,r))||r===void 0&&!(t in e))&&(e[t]=r)}function rt(e,t){for(var r=e.length;r--;)if(En(e[r][0],t))return r;return-1}function oi(e){if(!et(e)||pi(e))return!1;var t=mi(e)||Js(e)?Ds:xs;return t.test(li(e))}function ai(e,t,r,n){if(!et(e))return e;t=ui(t,e)?[t]:ii(t);for(var o=-1,a=t.length,s=a-1,i=e;i!=null&&++o<a;){var c=hi(t[o]),d=r;if(o!=s){var p=i[c];d=n?n(p,c,i):void 0,d===void 0&&(d=et(p)?p:ci(t[o+1])?[]:{})}ni(i,c,d),i=i[c]}return e}function si(e){if(typeof e=="string")return e;if(Lt(e))return ln?ln.call(e):"";var t=e+"";return t=="0"&&1/e==-yn?"-0":t}function ii(e){return bn(e)?e:fi(e)}function nt(e,t){var r=e.__data__;return di(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Sn(e,t){var r=Ws(e,t);return oi(r)?r:void 0}function ci(e,t){return t=t??Es,!!t&&(typeof e=="number"||Rs.test(e))&&e>-1&&e%1==0&&e<t}function ui(e,t){if(bn(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Lt(e)?!0:Ps.test(e)||!Cs.test(e)||t!=null&&e in Object(t)}function di(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function pi(e){return!!pn&&pn in e}var fi=Ft(function(e){e=gi(e);var t=[];return Ts.test(e)&&t.push(""),e.replace(Hs,function(r,n,o,a){t.push(o?a.replace(Os,"$1"):n||r)}),t});function hi(e){if(typeof e=="string"||Lt(e))return e;var t=e+"";return t=="0"&&1/e==-yn?"-0":t}function li(e){if(e!=null){try{return wn.call(e)}catch{}try{return e+""}catch{}}return""}function Ft(e,t){if(typeof e!="function"||t&&typeof t!="function")throw new TypeError(Ss);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var s=e.apply(this,n);return r.cache=a.set(o,s),s};return r.cache=new(Ft.Cache||ge),r}Ft.Cache=ge;function En(e,t){return e===t||e!==e&&t!==t}var bn=Array.isArray;function mi(e){var t=et(e)?An.call(e):"";return t==bs||t==vs}function et(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function yi(e){return!!e&&typeof e=="object"}function Lt(e){return typeof e=="symbol"||yi(e)&&An.call(e)==_s}function gi(e){return e==null?"":si(e)}function wi(e,t,r){return e==null?e:ai(e,t,r)}vn.exports=wi});var On=S(zt=>{"use strict";zt.parse=Pi;zt.serialize=Ti;var vi=decodeURIComponent,_i=encodeURIComponent,Ci=/; */,st=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function Pi(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");for(var r={},n=t||{},o=e.split(Ci),a=n.decode||vi,s=0;s<o.length;s++){var i=o[s],c=i.indexOf("=");if(!(c<0)){var d=i.substr(0,c).trim(),p=i.substr(++c,i.length).trim();p[0]=='"'&&(p=p.slice(1,-1)),r[d]==null&&(r[d]=Hi(p,a))}}return r}function Ti(e,t,r){var n=r||{},o=n.encode||_i;if(typeof o!="function")throw new TypeError("option encode is invalid");if(!st.test(e))throw new TypeError("argument name is invalid");var a=o(t);if(a&&!st.test(a))throw new TypeError("argument val is invalid");var s=e+"="+a;if(n.maxAge!=null){var i=n.maxAge-0;if(isNaN(i)||!isFinite(i))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(i)}if(n.domain){if(!st.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!st.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.sameSite){var c=typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite;switch(c){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function Hi(e,t){try{return t(e)}catch{return e}}});var Rn=S((fd,xn)=>{"use strict";var it=1;function Ki(){return it=(it*9301+49297)%233280,it/233280}function Oi(e){it=e}xn.exports={nextValue:Ki,seed:Oi}});var Ne=S((hd,Jn)=>{"use strict";var jt=Rn(),Ae="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-",ae,Un,Je;function Xt(){Je=!1}function In(e){if(!e){ae!==Ae&&(ae=Ae,Xt());return}if(e!==ae){if(e.length!==Ae.length)throw new Error("Custom alphabet for shortid must be "+Ae.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter(function(r,n,o){return n!==o.lastIndexOf(r)});if(t.length)throw new Error("Custom alphabet for shortid must be "+Ae.length+" unique characters. These characters were not unique: "+t.join(", "));ae=e,Xt()}}function xi(e){return In(e),ae}function Ri(e){jt.seed(e),Un!==e&&(Xt(),Un=e)}function Ui(){ae||In(Ae);for(var e=ae.split(""),t=[],r=jt.nextValue(),n;e.length>0;)r=jt.nextValue(),n=Math.floor(r*e.length),t.push(e.splice(n,1)[0]);return t.join("")}function Wn(){return Je||(Je=Ui(),Je)}function Ii(e){var t=Wn();return t[e]}function Wi(){return ae||Ae}Jn.exports={get:Wi,characters:xi,seed:Ri,lookup:Ii,shuffled:Wn}});var Mn=S((ld,Nn)=>{"use strict";var Yt=typeof window=="object"&&(window.crypto||window.msCrypto),Zt;!Yt||!Yt.getRandomValues?Zt=function(e){for(var t=[],r=0;r<e;r++)t.push(Math.floor(Math.random()*256));return t}:Zt=function(e){return Yt.getRandomValues(new Uint8Array(e))};Nn.exports=Zt});var kn=S((md,Dn)=>{Dn.exports=function(e,t,r){for(var n=(2<<Math.log(t.length-1)/Math.LN2)-1,o=-~(1.6*n*r/t.length),a="";;)for(var s=e(o),i=o;i--;)if(a+=t[s[i]&n]||"",a.length===+r)return a}});var qn=S((yd,$n)=>{"use strict";var Ji=Ne(),Ni=Mn(),Mi=kn();function Di(e){for(var t=0,r,n="";!r;)n=n+Mi(Ni,Ji.get(),1),r=e<Math.pow(16,t+1),t++;return n}$n.exports=Di});var Bn=S((wd,Ln)=>{"use strict";var ct=qn(),gd=Ne(),ki=1567752802062,$i=7,ut,Fn;function qi(e){var t="",r=Math.floor((Date.now()-ki)*.001);return r===Fn?ut++:(ut=0,Fn=r),t=t+ct($i),t=t+ct(e),ut>0&&(t=t+ct(ut)),t=t+ct(r),t}Ln.exports=qi});var Vn=S((Ad,Gn)=>{"use strict";var Fi=Ne();function Li(e){if(!e||typeof e!="string"||e.length<6)return!1;var t=new RegExp("[^"+Fi.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]");return!t.test(e)}Gn.exports=Li});var jn=S((Sd,zn)=>{"use strict";zn.exports=0});var Zn=S((Ed,re)=>{"use strict";var Qt=Ne(),Bi=Bn(),Gi=Vn(),Xn=jn()||0;function Vi(e){return Qt.seed(e),re.exports}function zi(e){return Xn=e,re.exports}function ji(e){return e!==void 0&&Qt.characters(e),Qt.shuffled()}function Yn(){return Bi(Xn)}re.exports=Yn;re.exports.generate=Yn;re.exports.seed=Vi;re.exports.worker=zi;re.exports.characters=ji;re.exports.isValid=Gi});var eo=S((bd,Qn)=>{"use strict";Qn.exports=Zn()});var Ro=O(qr());var rn=O(V()),es={get:rn.default};function Kt(e){e.status=401,e.body="Unauthorized",e.set("WWW-Authenticate","Basic")}function Ot(e){return async(t,r)=>{if(t.request.path===e.logoutPath)return Kt(t);let n=es.get(t,"request.headers.authorization");if(!n||!n.startsWith("Basic "))return Kt(t);let o=e.users.map(i=>i.authToken),a=n.substring(6),s=o.indexOf(a);return s===-1?Kt(t):(t.state.user=e.users[s].username,r(t))}}var nn=caches.default;async function ts(e){return await nn.match(e)}async function rs(e,t){return nn.put(e.href,t)}var xt={get:ts,set:rs};async function ns(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(a=>a.toString(16).padStart(2,"0")).join("")}var on=ns;function os(e,t={}){return Object.keys(t).reduce((r,n)=>r.replace(`{${n}}`,t[n]),e)}function Rt(e){return[...e].reduce((t,r)=>{let n={};return n[r[0]]=r[1],{...t,...n}},{})}var v={resolveParams:os,instanceToJson:Rt};var as=["x-ratelimit-count","x-ratelimit-limit","x-ratelimit-reset","x-cache-hit"];async function ss(e){return["POST","PATCH","PUT","DELETE"].indexOf(e.method)===-1?null:e.text()}async function is(e,t){if(!t)return e.event.request;let r=t.match(/{.*?}/gi).map(a=>a.slice(1,-1)),n={};for(let a=0;a<r.length;a+=1){let s=r[a],i=s.split(":");switch(i[0]){case"method":n[s]=e.request.method;break;case"path":n[s]=e.request.path;break;case"bodyHash":n[s]=await on(await ss(e.request));break;case"header":n[s]=e.request.headers[i[1]]||"";break;default:n[s]=s}}let o=encodeURIComponent(t.replace(/({(.*?)})/gi,(a,s,i)=>n[i]));return new Request(`http://${e.request.hostname}/${o}`)}function Ut({cacheDuration:e,cacheKeyTemplate:t,headerBlacklist:r=as}){return async(n,o)=>{let a=await is(n,t),s=await xt.get(a);if(s){n.body=s.body,n.status=s.status;let i=Rt(s.headers);Object.keys(i).forEach(c=>{n.set(c,i[c])}),n.set("X-Cache-Hit",!0)}else{await o(n);let i;n.body.tee?[n.body,i]=n.body.tee():i=n.body;let c=new Response(i,{status:n.status});Object.keys(n.response.headers).forEach(d=>{r.indexOf(d.toLowerCase())===-1&&c.headers.set(d,n.response.headers[d])}),e&&(c.headers.delete("Cache-Control"),c.headers.set("Cache-Control",`max-age=${e}`)),n.event.waitUntil(xt.set(a,c))}}}function It({allowedOrigins:e=["*"],allowedMethods:t=["GET","PUT","POST","PATCH","DELETE","HEAD","OPTIONS"],allowCredentials:r=!0,allowedHeaders:n=["Content-Type"],allowedExposeHeaders:o=[],maxAge:a=600,optionsSuccessStatus:s=204,terminatePreflight:i=!1}){return async(c,d)=>{let{method:p}=c.request,{origin:u}=c.request.headers,f=c.request.headers["access-control-request-headers"];if(console.log("---------------------1"+JSON.stringify(c.response.headers)),cs(c,u,e),console.log("---------------------2"+JSON.stringify(c.response.headers)),us(c,r),console.log("---------------------3"+JSON.stringify(c.response.headers)),hs(c,o),console.log("---------------------4"+JSON.stringify(c.response.headers)),p==="OPTIONS"&&(ds(c,t),ps(c,f,n),fs(c,a),i)){c.status=s,c.set("content-length","0"),c.body="";return}await d(c)}}function cs(e,t,r){Array.isArray(r)&&(r[0]==="*"?e.set("access-control-allow-origin","*"):r.indexOf(t)!==-1&&(e.set("access-control-allow-origin",t),e.set("vary","Origin")))}function us(e,t){t&&e.set("access-control-allow-credentials",t)}function ds(e,t){e.set("access-control-allow-methods",t.join(","))}function ps(e,t,r){r.length===0&&t?e.set("access-control-allow-headers",t):r.length&&e.set("access-control-allow-headers",r.join(","))}function fs(e,t){t&&e.set("access-aontrol-max-age",t)}function hs(e,t){t.length&&e.set("access-control-expose-headers",t.join(","))}var ls={AF:"AS",AL:"EU",AQ:"AN",DZ:"AF",AS:"OC",AD:"EU",AO:"AF",AG:"NA",AZ:"EU",AR:"SA",AU:"OC",AT:"EU",BS:"NA",BH:"AS",BD:"AS",AM:"EU",BB:"NA",BE:"EU",BM:"NA",BT:"AS",BO:"SA",BA:"EU",BW:"AF",BV:"AN",BR:"SA",BZ:"NA",IO:"AS",SB:"OC",VG:"NA",BN:"AS",BG:"EU",MM:"AS",BI:"AF",BY:"EU",KH:"AS",CM:"AF",CA:"NA",CV:"AF",KY:"NA",CF:"AF",LK:"AS",TD:"AF",CL:"SA",CN:"AS",TW:"AS",CX:"AS",CC:"AS",CO:"SA",KM:"AF",YT:"AF",CG:"AF",CD:"AF",CK:"OC",CR:"NA",HR:"EU",CU:"NA",CY:"EU",CZ:"EU",BJ:"AF",DK:"EU",DM:"NA",DO:"NA",EC:"SA",SV:"NA",GQ:"AF",ET:"AF",ER:"AF",EE:"EU",FO:"EU",FK:"SA",GS:"AN",FJ:"OC",FI:"EU",AX:"EU",FR:"EU",GF:"SA",PF:"OC",TF:"AN",DJ:"AF",GA:"AF",GE:"EU",GM:"AF",PS:"AS",DE:"EU",GH:"AF",GI:"EU",KI:"OC",GR:"EU",GL:"NA",GD:"NA",GP:"NA",GU:"OC",GT:"NA",GN:"AF",GY:"SA",HT:"NA",HM:"AN",VA:"EU",HN:"NA",HK:"AS",HU:"EU",IS:"EU",IN:"AS",ID:"AS",IR:"AS",IQ:"AS",IE:"EU",IL:"AS",IT:"EU",CI:"AF",JM:"NA",JP:"AS",KZ:"EU",JO:"AS",KE:"AF",KP:"AS",KR:"AS",KW:"AS",KG:"AS",LA:"AS",LB:"AS",LS:"AF",LV:"EU",LR:"AF",LY:"AF",LI:"EU",LT:"EU",LU:"EU",MO:"AS",MG:"AF",MW:"AF",MY:"AS",MV:"AS",ML:"AF",MT:"EU",MQ:"NA",MR:"AF",MU:"AF",MX:"NA",MC:"EU",MN:"AS",MD:"EU",ME:"EU",MS:"NA",MA:"AF",MZ:"AF",OM:"AS",NA:"AF",NR:"OC",NP:"AS",NL:"EU",AN:"NA",CW:"NA",AW:"NA",SX:"NA",BQ:"NA",NC:"OC",VU:"OC",NZ:"OC",NI:"NA",NE:"AF",NG:"AF",NU:"OC",NF:"OC",NO:"EU",MP:"OC",UM:"OC",FM:"OC",MH:"OC",PW:"OC",PK:"AS",PA:"NA",PG:"OC",PY:"SA",PE:"SA",PH:"AS",PN:"OC",PL:"EU",PT:"EU",GW:"AF",TL:"AS",PR:"NA",QA:"AS",RE:"AF",RO:"EU",RU:"EU",RW:"AF",BL:"NA",SH:"AF",KN:"NA",AI:"NA",LC:"NA",MF:"NA",PM:"NA",VC:"NA",SM:"EU",ST:"AF",SA:"AS",SN:"AF",RS:"EU",SC:"AF",SL:"AF",SG:"AS",SK:"EU",VN:"AS",SI:"EU",SO:"AF",ZA:"AF",ZW:"AF",ES:"EU",SS:"AF",EH:"AF",SD:"AF",SR:"SA",SJ:"EU",SZ:"AF",SE:"EU",CH:"EU",SY:"AS",TJ:"AS",TH:"AS",TG:"AF",TK:"OC",TO:"OC",TT:"NA",AE:"AS",TN:"AF",TR:"EU",TM:"AS",TC:"NA",TV:"OC",UG:"AF",UA:"EU",MK:"EU",EG:"AF",GB:"EU",GG:"EU",JE:"EU",IM:"EU",TZ:"AF",US:"NA",VI:"NA",BF:"AF",UY:"SA",UZ:"AS",VE:"SA",WF:"OC",WS:"OC",YE:"AS",ZM:"AF",XX:"XX"};function Wt(){return async(e,t)=>{let r=e.request.headers["cf-ipcountry"]||"XX";e.request.headers["proxy-continent"]=ls[r],await t(e)}}function an(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=atob(t),n=Uint8Array.from(r,o=>o.charCodeAt(0));return new TextDecoder().decode(n)}function ms(e){let t=e.split("."),r=JSON.parse(an(t[0])),n=JSON.parse(an(t[1])),o=atob(t[2].replace(/-/g,"+").replace(/_/g,"/"));return{header:r,payload:n,signature:o,raw:{header:t[0],payload:t[1],signature:t[2]}}}function Jt({jwksUri:e,iss:t,aud:r,allowPublicAccess:n=!1}){async function o(){return(await(await fetch(e)).json()).keys}function a(c){return c.status=403,c.body="Forbidden",c}async function s(c){let p=new TextEncoder().encode([c.raw.header,c.raw.payload].join(".")),u=new Uint8Array(Array.from(c.signature).map(y=>y.charCodeAt(0))),f=await o();return(await Promise.all(f.map(async y=>{let w=await crypto.subtle.importKey("jwk",y,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",w,u,p)}))).some(y=>y)}async function i(c,d){if(c.request.method==="OPTIONS"||n)return d(c);if((c.request.headers.authorization||"").toLowerCase().startsWith("bearer")){let u=ms(c.request.headers.authorization.slice(7)),f=new Date(u.payload.exp*1e3),h=new Date(Date.now());return f<=h||!t||u.payload.iss!==t||!r||u.payload.aud!==r||!await s(u)?a(c):(c.state.user=u.payload,d(c))}return a(c)}return i}var sn=O(V()),ys={get:sn.default},me=class{constructor({accountId:t,namespace:r,authEmail:n,authKey:o,ttl:a}){this.accountId=t,this.namespace=r,this.authEmail=n,this.authKey=o,this.ttl=a}getNamespaceUrl(){return new URL(`https://api.cloudflare.com/client/v4/accounts/${this.accountId}/storage/kv/namespaces/${this.namespace}`)}getUrlForKey(t){return new URL(`${this.getNamespaceUrl()}/values/${t}`)}async list(t,r=10){let n=`${this.getNamespaceUrl()}/keys?prefix=${t}&limit=${r}`,o=await fetch(n,{headers:{"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey}});return o.ok?o.json():null}async get(t,r){let n=this.getUrlForKey(t),o=await fetch(n,{headers:{"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey}});if(o.ok)switch(r){case"json":return o.json();case"stream":return o;case"arrayBuffer":return o.arrayBuffer();default:return o.text()}return null}async getWithMetadata(t,r){let[n,o]=await Promise.all([this.get(t,r),this.list(t)]),a=ys.get(o,"result.0.metadata",{});return{value:n,metadata:a}}async put(t,r,n={}){let o=this.getUrlForKey(t),a=new URLSearchParams;this.ttl&&a.append("expiration_ttl",this.ttl.toString());let s={"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey};o.search=a.toString();let i=new FormData;return i.append("value",r),i.append("metadata",JSON.stringify(n)),(await fetch(o.toString(),{method:"PUT",headers:s,body:r})).ok}async delete(t){let r=this.getUrlForKey(t);return fetch(r,{method:"DELETE",headers:{"X-Auth-Email":this.authEmail,"X-Auth-Key":this.authKey}})}};var N={methodsMethodsWithBody:["POST","PUT","PATCH"],http:{statusMessages:{404:"Not Found"}},mime:{css:"text/css",csv:"text/csv",html:"text/html",ico:"image/microsoft.vnd.icon",jpeg:"image/jpeg",js:"application/javascript",json:"application/json",png:"image/png",svg:"image/svg+xml",xml:"application/xml"}};function gs(e,t,r){if(e==="/"&&r)return r;let n=e.split("/").pop();return n.split(".").pop()!==n?e:`${e}.${t}`}function Nt({kvAccountId:e,kvNamespace:t,kvAuthEmail:r,kvAuthKey:n,kvBasePath:o="",kvKey:a="{file}",defaultExtension:s="html",defaultIndexDocument:i,defaultErrorDocument:c,mime:d={},mode:p="rest"}){let u=new me({accountId:e,namespace:t,authEmail:r,authKey:n,mode:p}),f={...N.mime,...d};return async h=>{let y=v.resolveParams(a,h.params),w=y===""&&i?i:gs(y,s),m=await u.get(o+w);!m&&c&&(m=await u.get(o+c)),m?(h.status=200,h.body=m,h.set("Content-Type",f[w.split(".").pop()]||"text/plain")):(h.status=404,h.body=N.http.statusMessages[404],h.set("Content-Type","text/plain"))}}var cn=O(V());var Mt={get:cn.default};function ws(e,t,r){if(e==="/"&&r)return r;let n=e.split("/").pop();return n.split(".").pop()!==n?e:`${e}.${t}`}function As(e,t){let r=Mt.get(e,"headers.if-none-match"),n=Mt.get(t,"metadata.headers.etag");return r?r===n:!1}function Dt({kvNamespaceBinding:e,kvBasePath:t="",kvKey:r="{file}",defaultExtension:n="html",defaultIndexDocument:o,defaultErrorDocument:a}){async function s(i){return await global[e].getWithMetadata(i)}return async i=>{let c=v.resolveParams(r,i.params),d=c===""&&o?o:ws(c,n),p=await s(t+d);if(!p&&a&&(p=await s(t+a)),p)if(As(i.request,p))i.status=304;else{i.status=p.status,i.body=p.value;let u=Mt.get(p,"metadata.headers",{});Object.keys(u).forEach(f=>{i.set(f,u[f])})}else i.status=404,i.body=N.http.statusMessages[404],i.set("Content-Type","text/plain")}}var dn=O(Qe());function kt({accessKeyId:e,secretAccessKey:t,region:r,lambdaName:n}){let o=new dn.AwsClient({accessKeyId:e,secretAccessKey:t});return async a=>{let s=`https://lambda.${r}.amazonaws.com/2015-03-31/functions/${n}/invocations`,i={},c=await o.fetch(s,{body:JSON.stringify(i)});a.status=c.status,a.body=c.body;let d=v.instanceToJson(c.headers);Object.keys(d).forEach(p=>{a.set(p,d[p])})}}var Cn=O(V()),Pn=O(ot());var _n={get:Cn.default,set:Pn.default};function Ai(e){let t={};return Object.keys(e).forEach(r=>{r.startsWith("cf")||(t[r]=e[r])}),t}function Si(e){return e[Math.floor(Math.random()*e.length)]}function Bt({sources:e=[]}){return async t=>{let r=Si(e),n={method:t.request.method,headers:Ai(t.request.headers),redirect:"manual",cf:t.request.cf};if(N.methodsMethodsWithBody.indexOf(t.request.method)!==-1&&_n.get(t,"event.request.body")){let i=t.event.request.clone();n.body=i.body}let o=v.resolveParams(r.url,t.params);if(r.resolveOverride){let i=v.resolveParams(r.resolveOverride,t.request.params);_n.set(n,"cf.resolveOverride",i)}let a=await fetch(o+t.request.search,n);t.body=a.body,t.status=a.status;let s=v.instanceToJson(a.headers);Object.keys(s).forEach(i=>{t.set(i,s[i])})}}var Kn=O(V());var Gt={name:"@ahmadissa/cloudworker-proxy",version:"1.1.86",description:"An api gateway for cloudflare workers",license:"MIT",repository:{type:"git",url:"git+https://github.com/ahmadissa/cloudworker-proxy.git"},bugs:{url:"https://github.com/ahmadissa/cloudworker-proxy/issues"},homepage:"https://github.com/ahmadissa/cloudworker-proxy#readme",author:"Ahmad Issa",keywords:["cloudflare","workers","api","gateway","proxy"],main:"dist/index.js",files:["dist/**"],scripts:{build:"esbuild --bundle src/index.ts --format=cjs --outdir=dist --sourcemap --minify",lint:"eslint src",package:"bun install; npm run build",test:"npm run unit && npm run lint","test:integration":"node integration/run.js",unit:"bun test","semantic-release":"semantic-release",prepare:"husky install"},release:{branches:["master"],plugins:["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/npm",{npmPublish:!1}],["@semantic-release/git",{assets:["docs","package.json"],message:"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]]},dependencies:{aws4fetch:"1.0.13",build:"^0.1.4","cloudworker-router":"^4.1.5",cookie:"0.4.1",jose:"^5.1.0","lodash.get":"4.4.2","lodash.set":"4.3.2",package:"^1.0.1",redaxios:"^0.5.1",shortid:"2.2.16"},devDependencies:{"@semantic-release/git":"^10.0.1","@types/jest":"^29.5.5","@types/mocha":"^10.0.1","@types/node":"^20.5.9","@typescript-eslint/eslint-plugin":"^6.6.0","@typescript-eslint/parser":"^6.6.0",bun:"1.0.3",dotenv:"8.2.0",esbuild:"^0.19.2",eslint:"7.13.0","eslint-config-airbnb-base":"14.2.1","eslint-config-prettier":"6.15.0","eslint-plugin-import":"2.22.1","eslint-plugin-prettier":"3.1.4","fetch-mock":"9.11.0",husky:"^8.0.3","node-fetch":"2.6.1",prettier:"2.1.2","semantic-release":"^22.0.4",typescript:"^5.2.2",wrangler:"^3.7.0"},directories:{example:"examples",test:"test"}};var we=class{constructor({maxSize:t=10,maxSeconds:r=10,sink:n}){this.maxSize=t,this.maxSeconds=r,this.queue=[],this.sink=n,this.flushing=!1,this.timer=null}async push(t){return this.queue.push(t),this.queue.length>this.maxSize?this.flush():(this.timer||(this.timer=new Promise((r,n)=>{this.resolveTimer=r,this.rejectTimer=n,this.cancelationToken=setTimeout(async()=>{try{r(await this.flush())}catch(o){n(o)}},this.maxSeconds*1e3)})),this.timer)}async flush(){if(!this.flushing){this.flushing=!0;try{let t=this.queue.join(`
|
|
6
6
|
`);this.queue=[];let r=await this.sink(t);this.timer&&(clearTimeout(this.cancelationToken),this.resolveTimer(r))}catch(t){this.timer&&this.rejectTimer(t)}finally{this.timer=null,this.flushing=!1}}}};function Tn(e,t=".",r=""){return e instanceof Object?Object.keys(e).reduce((n,o)=>e[o]==null?n:{...n,...Tn(e[o],t,r+o+t)},{}):r.endsWith(t)?{[r.slice(0,r.length-1)]:e}:{[r]:e}}var at=Tn;var Ie=class{constructor(t){this.url=t.url,this.contentType=t.contentType,this.delimiter=t.delimiter,this.chunker=new we({sink:this.sendMessage.bind(this),...t})}async log(t){let r=at(t,this.delimiter);await this.chunker.push(JSON.stringify(r))}async sendMessage(t){return fetch(this.url,{body:t,method:"POST",headers:{"Content-Type":this.contentType}})}};var Hn=O(Qe());var We=class{constructor(t){this.delimiter=t.delimiter,this.chunker=new we({sink:this.sendMessage.bind(this),...t}),this.awsClient=new Hn.AwsClient({accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,region:t.region}),this.streamName=t.streamName,this.region=t.region}async log(t){let r=at(t,this.delimiter);await this.chunker.push(JSON.stringify(r))}async sendMessage(t){let r=btoa(`${JSON.stringify(t)}
|
|
7
|
-
`),n=JSON.stringify({DeliveryStreamName:this.streamName,Record:{Data:r}}),o=`https://firehose.${this.region}.amazonaws.com`,a=new Request(o,{method:"POST",body:n,headers:{"X-Amz-Target":"Firehose_20150804.PutRecord","Content-Type":" application/x-amz-json-1.1"}});return this.awsClient.fetch(a)}};var $={get:Kn.default};async function bi(e){return["POST","PATCH","PUT","DELETE"].indexOf(e.method)===-1?null:e.text()}function Vt(e){let t;switch(e.type){case"http":t=new Ie(e);break;case"kinesis":t=new We(e);break;default:throw new Error(`Log service type not supported: ${e.type}`)}return async(r,n)=>{r.state["logger-startDate"]=new Date;let o=await bi(r.request);try{await n(r);let a={message:"START",requestIp:$.get(r,"request.headers.x-real-ip"),requestId:$.get(r,"request.requestId"),request:{headers:$.get(r,"request.headers"),method:$.get(r,"request.method"),url:$.get(r,"request.href"),protocol:$.get(r,"request.protocol"),body:o},response:{status:r.status,headers:$.get(r,"response.headers")},handlers:$.get(r,"state.handlers",[]).join(","),route:$.get(r,"route.name"),timestamp:new Date().toISOString(),ttfb:new Date-r.state["logger-startDate"],redirectUrl:r.userRedirect,severity:30,proxyVersion:Gt.version};r.event.waitUntil(t.log(a))}catch(a){let s={request:{headers:$.get(r,"request.headers"),method:$.get(r,"request.method"),handlers:$.get(r,"state.handlers",[]).join(","),url:$.get(r,"request.href"),body:o},message:"ERROR",stack:a.stack,error:a.message,severity:50,proxyVersion:Gt.version};r.event.waitUntil(t.log(s))}}}var Me=O(On()),oo=O(V()),ao=O(ot()),so=O(eo());async function er({refresh_token:e,authDomain:t,clientId:r,clientSecret:n}){let o=`${t}/oauth/token`,a=await fetch(o,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:r,client_secret:n,refresh_token:e})});if(!a.ok)throw new Error("Authentication failed");let s=await a.json();return{...s,expires:Date.now()+s.expires_in*1e3,refresh_token:e}}var to="PBKDF2",tr="AES-GCM",Xi="SHA-256",Yi="raw";function Zi(e){let t=atob(e.replace(/_/g,"/").replace(/-/g,"+")),r=t.length,n=new Uint8Array(r);for(let o=0;o<r;o+=1)n[o]=t.charCodeAt(o);return n.buffer}function ro(e){let t="",r=new Uint8Array(e),n=r.byteLength;for(let o=0;o<n;o+=1)t+=String.fromCharCode(r[o]);return btoa(t).replace(/\//g,"_").replace(/\+/g,"-")}function Qi(e){return new TextEncoder().encode(e).buffer}function ec(e){return new TextDecoder().decode(e)}async function tc(e){let t=new TextEncoder;return crypto.subtle.importKey(Yi,t.encode(e),{name:to},!1,["deriveKey"])}async function rc(e,t){let r=await tc(e),o=new TextEncoder().encode(t.replace(/_/g,"/").replace(/-/g,"+"));return crypto.subtle.deriveKey({name:to,salt:o,iterations:1e3,hash:{name:Xi}},r,{name:tr,length:256},!0,["encrypt","decrypt"])}async function nc(){let e=crypto.getRandomValues(new Uint8Array(8));return ro(e)}async function oc(e,t){let r=Zi(t),n=r.slice(0,16),o=r.slice(16),a=await crypto.subtle.decrypt({name:tr,iv:n},e,o);return ec(a)}async function ac(e,t){let r=crypto.getRandomValues(new Uint8Array(16)),n=await crypto.subtle.encrypt({name:tr,iv:r},e,Qi(t)),o=new Uint8Array(n.byteLength+r.byteLength);return o.set(r,0),o.set(new Uint8Array(n),r.byteLength),ro(o)}var Se={decrypt:oc,deriveAesGcmKey:rc,encrypt:ac,getSalt:nc};var ve={get:oo.default,set:ao.default};function no({cookieHeader:e="",cookieName:t}){return Me.default.parse(e)[t]}function sc(e){return Object.keys(e).map(t=>`${t}=${encodeURIComponent(e[t])}`).join("&")}function ic(e=""){return e.split(",").indexOf("text/html")!==-1}function rr({cookieName:e="proxy",cookieHttpOnly:t=!0,allowPublicAccess:r=!1,kvAccountId:n,kvNamespace:o,kvAuthEmail:a,kvAuthKey:s,kvTtl:i=2592e3,oauth2AuthDomain:c,oauth2ClientId:d,oauth2ClientSecret:p,oauth2Audience:u,oauth2Scopes:f=[],oauth2CallbackPath:h="/callback",oauth2CallbackType:y="cookie",oauth2LogoutPath:w="/logout",oauth2LoginPath:m="/login",oauth2ServerTokenPath:g="/oauth/token",oauth2ServerAuthorizePath:C="",oauth2ServerLogoutPath:b}){let A=new me({accountId:n,namespace:o,authEmail:a,authKey:s,ttl:i}),W=c,k=h,Z=y,j=g,x=C,_=b,H=d,Q=p,B=u,Be=w,K=m,xe=f.join("%20");async function Ge(l,U){let R=`${W}${j}`,J=await fetch(R,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:sc({code:l,grant_type:"authorization_code",client_id:H,client_secret:Q,redirect_uri:U})});if(!J.ok)throw new Error("Authentication failed");let X=await J.json();return{...X,expires:Date.now()+X.expires_in*1e3}}async function Uo(l){if(no({cookieHeader:l.request.headers.cookie,cookieName:e})){let J=l.request.hostname.match(/[^.]+\.[^.]+$/i)[0];l.set("Set-Cookie",Me.default.serialize(e,"",{domain:`.${J}`,path:"/",maxAge:0}))}let R=_r(l);if(b){let J=encodeURIComponent(`${l.request.protocol}://${l.request.host}${R}`);l.set("Location",`${W}${_}?client_id=${H}&returnTo=${J}`)}else l.set("Location",R);l.status=302}async function Io(l){let U=l.request.href.split("?")[0],R=await Ge(l.request.query.code,U),J=so.default.generate(),X=await Se.getSalt(),ee=`${J}.${X}`,gt=await Se.deriveAesGcmKey(J,X),pe=await Se.encrypt(gt,JSON.stringify(R));await A.put(J,pe);let wt=l.request.hostname.match(/[^.]+\.[^.]+$/i)[0];l.status=302,Z==="query"?l.set("Location",`${l.request.query.state}?auth=${ee}`):(l.set("Set-Cookie",Me.default.serialize(e,ee,{httpOnly:t,domain:`.${wt}`,path:"/",maxAge:60*60*24*365})),l.set("Location",l.request.query.state))}async function Wo(l,U){let[R,J]=U.split("."),X=await A.get(R);if(X){let ee=await Se.deriveAesGcmKey(R,J),gt=await Se.decrypt(ee,X),pe=JSON.parse(gt);if(pe.expires<Date.now()){pe=await er({refresh_token:pe.refresh_token,clientId:H,authDomain:W,clientSecret:Q});let wt=await Se.encrypt(ee,JSON.stringify(pe));await A.put(R,wt)}l.state.accessToken=pe.access_token,l.state.accessToken&&(l.request.headers.authorization=`bearer ${l.state.accessToken}`)}else{let ee=l.request.hostname.match(/[^.]+\.[^.]+$/i)[0];l.set("Set-Cookie",Me.default.serialize(e,"",{domain:`.${ee}`,maxAge:0}))}}function _r(l){let U=ve.get(l,"request.query.redirect-to");if(U)return U;let R=ve.get(l,"request.headers.referer");return R||"/"}async function Jo(l){if(l.request.method==="OPTIONS")l.status=200;else{let U=_r(l),R=encodeURIComponent(U||"/"),J=encodeURIComponent(`${l.request.protocol}://${l.request.host}${k}`);l.status=302,l.set("location",`${W}${x}/authorize?state=${R}&client_id=${H}&response_type=code&scope=${xe}&audience=${B}&redirect_uri=${J}`)}}async function No(l,U){if(l.request.method==="OPTIONS")await U(l);else if(ve.get(l,"request.headers.authorization","").toLowerCase().startsWith("bearer "))ve.set(l,"state.access_token",l.request.headers.authorization.slice(7)),await U(l);else{let R=ve.get(l,"request.query.auth")||no({cookieHeader:l.request.headers.cookie,cookieName:e});if(R&&await Wo(l,R),ve.get(l,"state.accessToken")||r)await U(l);else if(ic(l.request.headers.accept)){let X=encodeURIComponent(l.request.href),ee=encodeURIComponent(`${l.request.protocol}://${l.request.host}${k}`);l.status=302,l.set("location",`${W}${x}/authorize?state=${X}&client_id=${H}&response_type=code&scope=${xe}&audience=${B}&redirect_uri=${ee}`)}else l.status=403,l.body="Forbidden"}}return async(l,U)=>{switch(l.request.path){case k:await Io(l);break;case Be:await Uo(l);break;case K:await Jo(l);break;default:await No(l,U)}}}var io=O(V());var cc={get:io.default};function uc(e){let t={};return Object.keys(e).forEach(r=>{r.startsWith("cf")||(t[r]=e[r])}),t}function nr(e){let{localOriginOverride:t,backend:r}=e;return async n=>{let o=process.env.LOCAL?`${t||n.request.origin}${n.request.path}`:`${r}${n.request.path}`,a={headers:uc(n.request.headers),method:n.request.method,redirect:"manual"};if(N.methodsMethodsWithBody.indexOf(n.request.method)!==-1&&cc.get(n,"event.request.body")){let c=n.event.request.clone();a.body=c.body}let s=await fetch(o,a);n.body=s.body,n.status=s.status;let i=v.instanceToJson(s.headers);Object.keys(i).forEach(c=>{n.set(c,i[c])})}}function or({body:e="",headers:t={},status:r=200}){return async n=>{e instanceof Object?(n.body=JSON.stringify(e),n.set("Content-Type","application/json")):n.body=v.resolveParams(e,n.params),n.status=r,Object.keys(t).forEach(o=>{n.set(o,v.resolveParams(t[o],n.params))})}}var co=O(V()),uo=O(ot()),ar={get:co.default,set:uo.default};function sr({type:e="IP",scope:t="default",limit:r=1e3}){let n={};function o(s,i){let c=i["x-real-ip"];return e==="IP"?`minute.${s}.${t}.${c}`:`minute.${s}.${t}.account`}function a(s){let i=ar.get(n,"minutes",{});Object.keys(i).forEach(c=>{c!==s&&delete n.minutes.minute})}return async(s,i)=>{let c=Math.trunc(Date.now()/6e4),d=Math.trunc(c*60+60-Date.now()/1e3),p=o(c,s.request.headers),u=ar.get(n,p,0);if(["HEAD","OPTIONS"].indexOf(s.request.method)===-1&&(u+=1),ar.set(n,p,u),r<u){s.status=429;return}a(c),await i(s)}}var po=O(Qe());function dc(e,t={}){if(e&&t.forcePathStyle){let r=new URL(e);return`${r.protocol}//${r.host}/${t.bucket}`}if(e){let r=new URL(e);return`${r.protocol}//${t.bucket}.${r.host}`}return t.forcePathStyle&&t.region?`https://s3.${t.region}.amazonaws.com/${t.bucket}`:t.forcePathStyle?`https://s3.amazonaws.com/${t.bucket}`:t.region?`https://${t.bucket}.s3.${t.region}.amazonaws.com`:`https://${t.bucket}.s3.amazonaws.com`}function ir({accessKeyId:e,secretAccessKey:t,bucket:r,region:n,endpoint:o,forcePathStyle:a,enableBucketOperations:s=!1}){let i=new po.AwsClient({accessKeyId:e,region:n,secretAccessKey:t}),c=dc(o,{region:n,bucket:r,forcePathStyle:a});return async d=>{if(d.params.file===void 0&&!s){d.status=404,d.body=N.http.statusMessages[404],d.set("Content-Type","text/plain");return}let p=d.params.file?v.resolveParams(`${c}/{file}`,d.params):c,u={};d.request.headers.range&&(u.range=d.request.headers.range);let f=await i.fetch(p,{method:d.method||d.request.method,headers:u});d.status=f.status,d.body=f.body;let h=v.instanceToJson(f.headers);Object.keys(h).forEach(y=>{d.set(y,h[y])})}}var cr;function fo(e){return new Uint8Array(e.split("").map(r=>r.charCodeAt(0)))}async function pc(e){return cr||(cr=await crypto.subtle.importKey("raw",fo(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"])),cr}async function fc(e,t){let r=await pc(t),n=await crypto.subtle.sign({name:"HMAC"},r,fo(e));return btoa(String.fromCharCode.apply(null,new Uint8Array(n))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ur({secret:e}){return async(t,r)=>{let n=(t.request.path+t.request.search).replace(/([?|&]sign=[\w|-]+)/,"");if(await fc(n,e)!==t.query.sign){t.status=403;return}await r(t)}}function dr({host:e}){if(!e)throw new Error("Need to specify a host for the split middleware.");return async(t,r)=>{let n=t.clone();n.cloned=!0,n.request={...n.request,href:n.request.href.replace(n.request.href,e),host:e},t.event.waitUntil(r(n)),await r(t)}}async function hc(e,t,r){let n=e.getReader(),o=t.getWriter(),a=new TextDecoder,s=new TextEncoder;for(;;){let{done:i,value:c}=await n.read();if(i)break;let d=a.decode(c),p=ho(d,r),u=s.encode(p);await o.write(u)}await o.close()}function lc(e,t){return e.replace(/{{\$(\d)}}/g,(r,n)=>t[parseInt(n,10)])}function ho(e,t){return t.reduce((r,n)=>r.replace(n.regex,(...o)=>lc(n.replace,o)),e)}function pr({transforms:e=[],statusCodes:t=[200]}){let r=e.map(n=>({regex:new RegExp(n.regex,"g"),replace:n.replace}));return async(n,o)=>{await o(n);let{body:a}=n;if(t.indexOf(n.status)!==-1)if(typeof a=="string")n.body=ho(a,r);else{let{readable:s,writable:i}=new TransformStream;hc(a,i,r),n.body=s}}}async function mc({projectID:e="your-project-id",API_KEY:t="GCP_API_KEY",token:r="action-token",siteKey:n="siteKey",expectedAction:o="action-name"}){let s=await(await fetch(`https://recaptchaenterprise.googleapis.com/v1/projects/${e}/assessments?key=${t}`,{body:JSON.stringify({event:{token:r,siteKey:n,expectedAction:o}}),headers:{"Content-Type":"application/json"},method:"POST"})).json();return s.tokenProperties.valid?s.tokenProperties.action===o?(s.riskAnalysis.reasons.forEach(i=>{console.log(i)}),s.riskAnalysis.score):(console.error("reCAPTCHA action error:"+o+":action:"+s.tokenProperties.action),null):(console.error("The CreateAssessment call failed because the token was: "+s.tokenProperties.invalidReason),0)}var yc=e=>(e=e.split("?")[0],e.replace(/\W/g,"").slice(0,100));function fr({projectID:e,API_KEY:t,siteKey:r}){function n(o){return{token:o["g-recaptcha-token"]}}return async(o,a)=>{let{token:s}=n(o.request.headers),i=yc(o.request.path);if((await mc({projectID:e,API_KEY:t,token:s,siteKey:r,expectedAction:i})||0)<.5){o.status=409;return}await a(o)}}async function gc({secret:e,token:t,expectedAction:r,remoteip:n}){if(!t)return{ok:!1,score:0,errorCodes:["missing-input-response"]};let o=new URLSearchParams({secret:e,response:t,...n?{remoteip:n}:{}}),s=await(await fetch("https://www.google.com/recaptcha/api/siteverify",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o})).json(),i=!!s.success,c=s.action===r,d=typeof s.score=="number"?s.score:0;return{ok:i&&c,score:d,action:s.action,errorCodes:s["error-codes"]}}var wc=e=>{let t=e;try{t=new URL(e,"http://dummy").pathname}catch{}return t=t.split("?")[0]||"/",t.replace(/\W/g,"").slice(0,100)},De=(e,t)=>{if(e instanceof Headers)return e.get(t);let r=e[t]??e[t.toLowerCase()];return Array.isArray(r)?r[0]??null:r??null};function hr({secret:e,headerName:t="x-recaptcha-token",minScore:r=.5,requireActionMatch:n=!0}){return async(o,a)=>{let s=o.request?.req||o.request||o,i=s.headers??o.request?.headers??{},c=De(i,t)||De(i,"g-recaptcha-token")||null,p=De(i,"x-recaptcha-action")||wc(o.request?.path||o.request?.url||s.url||"/"),u=De(i,"cf-connecting-ip")||De(i,"x-forwarded-for")||void 0,f=await gc({secret:e,token:c,expectedAction:p,remoteip:u});if(!(f.score>=r&&f.ok)){let y={action:f.action,expectedAction:p,score:f.score??0,errors:f.errorCodes??[]};console.warn("[reCAPTCHA] failed:"+JSON.stringify(y)),o.status=409,o.set?.("Content-Type","application/json"),o.body=JSON.stringify({error:"reCAPTCHA verification failed"});return}await a(o)}}var Ac=e=>!new RegExp("(\b)(onS+)(s*)=|javascript|<(|/|[^/>][^>]+|/[^>][^>]+)>").test(e),Sc=(e,t,r)=>!(!Ac(t)||!r[e](t)),Ec=e=>!(e===null||typeof e!="object"||Array.isArray(e)&&(!e[0]||typeof e[0]!="object")),lr=(e,t)=>{let r=Object.keys(e);for(let n of r){if(!t[n])return console.error("key not allowed",n),!1;if(e[n]===null&&(e[n]=""),Ec(e[n])){if(!lr(e[n],t))return console.error("error validating key+validateObject:",n),!1}else if(!Sc(n,e[n],t))return console.error("error validating key+validateKeyValue:",n),!1}return!0},bc=e=>!(e==null||typeof e!="object"),vc=(e,t)=>{let r=e.query;return bc(r)?lr(r,t):!1};async function _c(e){if(["POST","PATCH","PUT","DELETE"].indexOf(e.method)===-1)return{};try{let t=await e.text();return JSON.parse(t)}catch{}return{}}function mr({allowedKeys:e}){return async(r,n)=>{if(!e)return r.status=501,!1;if(!vc(r,e))return r.status=422,!1;let o=await _c(r.request);if(!lr(o,e))return r.status=422,!1;await n(r)}}var Ko=O(V());var P=crypto,G=e=>e instanceof CryptoKey;var M=new TextEncoder,q=new TextDecoder,zd=2**32;function se(...e){let t=e.reduce((o,{length:a})=>o+a,0),r=new Uint8Array(t),n=0;return e.forEach(o=>{r.set(o,n),n+=o.length}),r}var lo=e=>{let t=e;typeof t=="string"&&(t=M.encode(t));let r=32768,n=[];for(let o=0;o<t.length;o+=r)n.push(String.fromCharCode.apply(null,t.subarray(o,o+r)));return btoa(n.join(""))},F=e=>lo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");var _e=class extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(t){super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};var E=class extends _e{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}};var L=class extends _e{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ie=class extends _e{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}};var dt=P.getRandomValues.bind(P);function ne(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function pt(e,t){return e.name===t}function yr(e){return parseInt(e.name.slice(4),10)}function Tc(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Hc(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function yo(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!pt(e.algorithm,"HMAC"))throw ne("HMAC");let n=parseInt(t.slice(2),10);if(yr(e.algorithm.hash)!==n)throw ne(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!pt(e.algorithm,"RSASSA-PKCS1-v1_5"))throw ne("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(yr(e.algorithm.hash)!==n)throw ne(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!pt(e.algorithm,"RSA-PSS"))throw ne("RSA-PSS");let n=parseInt(t.slice(2),10);if(yr(e.algorithm.hash)!==n)throw ne(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw ne("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!pt(e.algorithm,"ECDSA"))throw ne("ECDSA");let n=Tc(t);if(e.algorithm.namedCurve!==n)throw ne(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Hc(e,r)}function go(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var z=(e,...t)=>go("Key must be ",e,...t);function gr(e,t,...r){return go(`Key for the ${e} algorithm must be `,t,...r)}var wr=e=>G(e),T=["CryptoKey"];var Uc=(...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let o=Object.keys(n);if(!r||r.size===0){r=new Set(o);continue}for(let a of o){if(r.has(a))return!1;r.add(a)}}return!0},Ce=Uc;function Ic(e){return typeof e=="object"&&e!==null}function D(e){if(!Ic(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var ft=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}};var ue=(e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let o=e.subarray(n,n+t.length);return o.length!==t.length?!1:o.every((a,s)=>a===t[s])||ue(e,t,n+1)},Ao=e=>{switch(!0){case ue(e,[42,134,72,206,61,3,1,7]):return"P-256";case ue(e,[43,129,4,0,34]):return"P-384";case ue(e,[43,129,4,0,35]):return"P-521";case ue(e,[43,101,110]):return"X25519";case ue(e,[43,101,111]):return"X448";case ue(e,[43,101,112]):return"Ed25519";case ue(e,[43,101,113]):return"Ed448";default:throw new E("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},Mc=async(e,t,r,n,o)=>{let a,s,i=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),c=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},s=c?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},s=c?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},s=c?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},s=c?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},s=c?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},s=c?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Ao(i);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},s=c?[]:["deriveBits"];break}case"EdDSA":a={name:Ao(i)},s=c?["verify"]:["sign"];break;default:throw new E('Invalid or unsupported "alg" (Algorithm) value')}return P.subtle.importKey(t,i,a,o?.extractable??!1,s)},So=(e,t,r)=>Mc(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r);async function Ar(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return So(e,t,r)}var Dc=(e,t)=>{if(!(t instanceof Uint8Array)){if(!wr(t))throw new TypeError(gr(e,t,...T,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${T.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},kc=(e,t,r)=>{if(!wr(t))throw new TypeError(gr(e,t,...T));if(t.type==="secret")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},$c=(e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?Dc(e,t):kc(e,t,r)},qe=$c;function zc(e,t,r,n,o){if(o.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(s=>typeof s!="string"||s.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let a;r!==void 0?a=new Map([...Object.entries(r),...t.entries()]):a=t;for(let s of n.crit){if(!a.has(s))throw new E(`Extension Header Parameter "${s}" is not recognized`);if(o[s]===void 0)throw new e(`Extension Header Parameter "${s}" is missing`);if(a.get(s)&&n[s]===void 0)throw new e(`Extension Header Parameter "${s}" MUST be integrity protected`)}return new Set(n.crit)}var Pe=zc;var Qc=Symbol();function ht(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new E(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}function lt(e,t,r){if(G(t))return yo(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(z(t,...T));return P.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(z(t,...T,"Uint8Array"))}var de=e=>Math.floor(e.getTime()/1e3);var tu=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,mt=e=>{let t=tu.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}};var au=async(e,t,r)=>{let n=await lt(e,t,"sign");ft(e,n);let o=await P.subtle.sign(ht(e,n.algorithm),n,r);return new Uint8Array(o)},Po=au;var Te=class{constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new L("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Ce(this._protectedHeader,this._unprotectedHeader))throw new L("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},o=Pe(L,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),a=!0;if(o.has("b64")&&(a=this._protectedHeader.b64,typeof a!="boolean"))throw new L('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=n;if(typeof s!="string"||!s)throw new L('JWS "alg" (Algorithm) Header Parameter missing or invalid');qe(s,t,"sign");let i=this._payload;a&&(i=M.encode(F(i)));let c;this._protectedHeader?c=M.encode(F(JSON.stringify(this._protectedHeader))):c=M.encode("");let d=se(c,M.encode("."),i),p=await Po(s,t,d),u={signature:F(p),payload:""};return a&&(u.payload=q.decode(i)),this._unprotectedHeader&&(u.header=this._unprotectedHeader),this._protectedHeader&&(u.protected=q.decode(c)),u}};var Fe=class{constructor(t){this._flattened=new Te(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}};function He(e,t){if(!Number.isFinite(t))throw new TypeError(`Invalid ${e} input`);return t}var Ke=class{constructor(t={}){if(!D(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:He("setNotBefore",t)}:t instanceof Date?this._payload={...this._payload,nbf:He("setNotBefore",de(t))}:this._payload={...this._payload,nbf:de(new Date)+mt(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:He("setExpirationTime",t)}:t instanceof Date?this._payload={...this._payload,exp:He("setExpirationTime",de(t))}:this._payload={...this._payload,exp:de(new Date)+mt(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:de(new Date)}:t instanceof Date?this._payload={...this._payload,iat:He("setIssuedAt",de(t))}:this._payload={...this._payload,iat:He("setIssuedAt",t)},this}};var Le=class extends Ke{setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){let n=new Fe(M.encode(JSON.stringify(this._payload)));if(n.setProtectedHeader(this._protectedHeader),Array.isArray(this._protectedHeader?.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ie("JWTs MUST NOT use unencoded payload");return n.sign(t,r)}};var uu;(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(uu="jose/v5.1.0");var To=function e(t){function r(o,a,s){var i,c={};if(Array.isArray(o))return o.concat(a);for(i in o)c[s?i.toLowerCase():i]=o[i];for(i in a){var d=s?i.toLowerCase():i,p=a[i];c[d]=d in c&&typeof p=="object"?r(c[d],p,d=="headers"):p}return c}function n(o,a,s,i,c){var d=typeof o!="string"?(a=o).url:o,p={config:a},u=r(t,a),f={};i=i||u.data,(u.transformRequest||[]).map(function(h){i=h(i,u.headers)||i}),u.auth&&(f.authorization=u.auth),i&&typeof i=="object"&&typeof i.append!="function"&&typeof i.text!="function"&&(i=JSON.stringify(i),f["content-type"]="application/json");try{f[u.xsrfHeaderName]=decodeURIComponent(document.cookie.match(RegExp("(^|; )"+u.xsrfCookieName+"=([^;]*)"))[2])}catch{}return u.baseURL&&(d=d.replace(/^(?!.*\/\/)\/?/,u.baseURL+"/")),u.params&&(d+=(~d.indexOf("?")?"&":"?")+(u.paramsSerializer?u.paramsSerializer(u.params):new URLSearchParams(u.params))),(u.fetch||fetch)(d,{method:(s||u.method||"get").toUpperCase(),body:i,headers:r(u.headers,f,!0),credentials:u.withCredentials?"include":c}).then(function(h){for(var y in h)typeof h[y]!="function"&&(p[y]=h[y]);return u.responseType=="stream"?(p.data=h.body,p):h[u.responseType||"text"]().then(function(w){p.data=w,p.data=JSON.parse(w)}).catch(Object).then(function(){return(u.validateStatus?u.validateStatus(h.status):h.ok)?p:Promise.reject(p)})})}return t=t||{},n.request=n,n.get=function(o,a){return n(o,a,"get")},n.delete=function(o,a){return n(o,a,"delete")},n.head=function(o,a){return n(o,a,"head")},n.options=function(o,a){return n(o,a,"options")},n.post=function(o,a,s){return n(o,s,"post",a)},n.put=function(o,a,s){return n(o,s,"put",a)},n.patch=function(o,a,s){return n(o,s,"patch",a)},n.all=Promise.all.bind(Promise),n.spread=function(o){return o.apply.bind(o,o)},n.CancelToken=typeof AbortController=="function"?AbortController:Object,n.defaults=t,n.create=e,n}();var fu=e=>{if(!e)return!1;let t=JSON.parse(atob(e.split(".")[1])),r=Math.floor(Date.now()/1e3);return t.exp>r-600},yt=async(e,t)=>{let r=await GCP_INVOKER_TOKEN.get(t);if(fu(r))return r;let n=await Ar(e.private_key,"RS256"),o=e.client_email,a={iss:o,sub:o,aud:"https://www.googleapis.com/oauth2/v4/token",target_audience:t,iat:Math.floor(Date.now()/1e3),exp:Math.floor(Date.now()/1e3)+3600},s=await new Le(a).setProtectedHeader({alg:"RS256",typ:"JWT"}).sign(n),i=await To.post("https://www.googleapis.com/oauth2/v4/token",{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:s});return await GCP_INVOKER_TOKEN.delete(t),await GCP_INVOKER_TOKEN.put(t,i.data.id_token),i.data.id_token};var Ho={get:Ko.default};function Er({project_id:e,region:t,functionName:r,serviceAccount:n}){return async o=>{let a=Ho.get(o,"request.query",{}),s=new URLSearchParams(a).toString(),i=`https://${t}-${e}.cloudfunctions.net/${r}`,c=`https://${t}-${e}.cloudfunctions.net/${r}${s?`?${s}`:""}`;console.log("urlWithParms:",c);let d=await yt(n,i);o.request.headers["X-Serverless-Authorization"]=`Bearer ${d}`;let p={headers:o.request.headers,method:o.request.method,redirect:"manual"};if(N.methodsMethodsWithBody.indexOf(o.request.method)!==-1&&Ho.get(o,"event.request.body")){let h=o.event.request.clone();p.body=h.body}let u=await fetch(c,p);o.body=u.body,o.status=u.status;let f=v.instanceToJson(u.headers);Object.keys(f).forEach(h=>{o.set(h,f[h])})}}var Oo=O(V());var hu={get:Oo.default};function br({domain:e,serviceAccount:t}){return async r=>{let n=`${e}${r.request.path}`,o=await yt(t,e),a=new Headers(r.request.headers);a.set("X-Serverless-Authorization",`Bearer ${o}`),a.set("X-Token",a.get("authorization")||"N/A"),a.set("authorization","");let s=r.event.cf||{},i={"X-Geo-Country":s.country,"X-Geo-City":s.city,"X-Geo-Latitude":s.latitude,"X-Geo-Longitude":s.longitude,"X-Geo-Timezone":s.timezone,"X-Geo-Region":s.region,"X-Geo-PostalCode":s.postalCode,"X-Geo-RegionCode":s.regionCode,"X-Geo-EU-Country":s.isEUCountry?"1":"0"};for(let[u,f]of Object.entries(i))f!==void 0&&a.set(u,f);let c={method:r.request.method,headers:a,redirect:"manual"};if(N.methodsMethodsWithBody.includes(r.request.method)&&hu.get(r,"event.request.body")){let u=r.event.request.clone();c.body=u.body}let d=await fetch(n,c),p=v.instanceToJson(d.headers);r.status=d.status,r.body=await d.text(),console.log("**************11"+JSON.stringify(r.response.headers)),Object.entries(p).forEach(([u,f])=>{let h=r.header(u);h||(console.log("-----"+JSON.stringify({existing:h,key:u,value:f})),r.set(u,f))}),console.log("**************22"+JSON.stringify(r.response.headers))}}function vr({headers:e={},headersFN:t}){return async(r,n)=>{if(e)for(let o of Object.keys(e))r.set(o,e[o]);if(t){let o=await t();for(let a of Object.keys(o))r.set(a,o[a])}await n(r)}}var xo={basicAuth:Ot,cache:Ut,cors:It,geoDecorator:Wt,jwt:Jt,kvStorage:Nt,kvStorageBinding:Dt,lambda:kt,loadbalancer:Bt,logger:Vt,oauth2:rr,origin:nr,rateLimit:sr,response:or,s3:ir,signature:ur,split:dr,transform:pr,recaptcha:fr,recaptchaV3:hr,userInputValidation:mr,cloudfunction:Er,gcpCloudrun:br,headers:vr};module.exports=class{constructor(t=[],r={}){this.router=new Ro.default,t.forEach(n=>{let o=r[n.handlerName]||xo[n.handlerName];if(!o)throw new Error(`Handler ${n.handlerName} is not supported`);this.router.add(n,o(n.options))})}async resolve(t){return t.cf=t?.request?.cf||{},this.router.resolve(t)}};
|
|
7
|
+
`),n=JSON.stringify({DeliveryStreamName:this.streamName,Record:{Data:r}}),o=`https://firehose.${this.region}.amazonaws.com`,a=new Request(o,{method:"POST",body:n,headers:{"X-Amz-Target":"Firehose_20150804.PutRecord","Content-Type":" application/x-amz-json-1.1"}});return this.awsClient.fetch(a)}};var $={get:Kn.default};async function bi(e){return["POST","PATCH","PUT","DELETE"].indexOf(e.method)===-1?null:e.text()}function Vt(e){let t;switch(e.type){case"http":t=new Ie(e);break;case"kinesis":t=new We(e);break;default:throw new Error(`Log service type not supported: ${e.type}`)}return async(r,n)=>{r.state["logger-startDate"]=new Date;let o=await bi(r.request);try{await n(r);let a={message:"START",requestIp:$.get(r,"request.headers.x-real-ip"),requestId:$.get(r,"request.requestId"),request:{headers:$.get(r,"request.headers"),method:$.get(r,"request.method"),url:$.get(r,"request.href"),protocol:$.get(r,"request.protocol"),body:o},response:{status:r.status,headers:$.get(r,"response.headers")},handlers:$.get(r,"state.handlers",[]).join(","),route:$.get(r,"route.name"),timestamp:new Date().toISOString(),ttfb:new Date-r.state["logger-startDate"],redirectUrl:r.userRedirect,severity:30,proxyVersion:Gt.version};r.event.waitUntil(t.log(a))}catch(a){let s={request:{headers:$.get(r,"request.headers"),method:$.get(r,"request.method"),handlers:$.get(r,"state.handlers",[]).join(","),url:$.get(r,"request.href"),body:o},message:"ERROR",stack:a.stack,error:a.message,severity:50,proxyVersion:Gt.version};r.event.waitUntil(t.log(s))}}}var Me=O(On()),oo=O(V()),ao=O(ot()),so=O(eo());async function er({refresh_token:e,authDomain:t,clientId:r,clientSecret:n}){let o=`${t}/oauth/token`,a=await fetch(o,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:r,client_secret:n,refresh_token:e})});if(!a.ok)throw new Error("Authentication failed");let s=await a.json();return{...s,expires:Date.now()+s.expires_in*1e3,refresh_token:e}}var to="PBKDF2",tr="AES-GCM",Xi="SHA-256",Yi="raw";function Zi(e){let t=atob(e.replace(/_/g,"/").replace(/-/g,"+")),r=t.length,n=new Uint8Array(r);for(let o=0;o<r;o+=1)n[o]=t.charCodeAt(o);return n.buffer}function ro(e){let t="",r=new Uint8Array(e),n=r.byteLength;for(let o=0;o<n;o+=1)t+=String.fromCharCode(r[o]);return btoa(t).replace(/\//g,"_").replace(/\+/g,"-")}function Qi(e){return new TextEncoder().encode(e).buffer}function ec(e){return new TextDecoder().decode(e)}async function tc(e){let t=new TextEncoder;return crypto.subtle.importKey(Yi,t.encode(e),{name:to},!1,["deriveKey"])}async function rc(e,t){let r=await tc(e),o=new TextEncoder().encode(t.replace(/_/g,"/").replace(/-/g,"+"));return crypto.subtle.deriveKey({name:to,salt:o,iterations:1e3,hash:{name:Xi}},r,{name:tr,length:256},!0,["encrypt","decrypt"])}async function nc(){let e=crypto.getRandomValues(new Uint8Array(8));return ro(e)}async function oc(e,t){let r=Zi(t),n=r.slice(0,16),o=r.slice(16),a=await crypto.subtle.decrypt({name:tr,iv:n},e,o);return ec(a)}async function ac(e,t){let r=crypto.getRandomValues(new Uint8Array(16)),n=await crypto.subtle.encrypt({name:tr,iv:r},e,Qi(t)),o=new Uint8Array(n.byteLength+r.byteLength);return o.set(r,0),o.set(new Uint8Array(n),r.byteLength),ro(o)}var Se={decrypt:oc,deriveAesGcmKey:rc,encrypt:ac,getSalt:nc};var ve={get:oo.default,set:ao.default};function no({cookieHeader:e="",cookieName:t}){return Me.default.parse(e)[t]}function sc(e){return Object.keys(e).map(t=>`${t}=${encodeURIComponent(e[t])}`).join("&")}function ic(e=""){return e.split(",").indexOf("text/html")!==-1}function rr({cookieName:e="proxy",cookieHttpOnly:t=!0,allowPublicAccess:r=!1,kvAccountId:n,kvNamespace:o,kvAuthEmail:a,kvAuthKey:s,kvTtl:i=2592e3,oauth2AuthDomain:c,oauth2ClientId:d,oauth2ClientSecret:p,oauth2Audience:u,oauth2Scopes:f=[],oauth2CallbackPath:h="/callback",oauth2CallbackType:y="cookie",oauth2LogoutPath:w="/logout",oauth2LoginPath:m="/login",oauth2ServerTokenPath:g="/oauth/token",oauth2ServerAuthorizePath:C="",oauth2ServerLogoutPath:b}){let A=new me({accountId:n,namespace:o,authEmail:a,authKey:s,ttl:i}),W=c,k=h,Z=y,j=g,x=C,_=b,H=d,Q=p,B=u,Be=w,K=m,xe=f.join("%20");async function Ge(l,U){let R=`${W}${j}`,J=await fetch(R,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:sc({code:l,grant_type:"authorization_code",client_id:H,client_secret:Q,redirect_uri:U})});if(!J.ok)throw new Error("Authentication failed");let X=await J.json();return{...X,expires:Date.now()+X.expires_in*1e3}}async function Uo(l){if(no({cookieHeader:l.request.headers.cookie,cookieName:e})){let J=l.request.hostname.match(/[^.]+\.[^.]+$/i)[0];l.set("Set-Cookie",Me.default.serialize(e,"",{domain:`.${J}`,path:"/",maxAge:0}))}let R=_r(l);if(b){let J=encodeURIComponent(`${l.request.protocol}://${l.request.host}${R}`);l.set("Location",`${W}${_}?client_id=${H}&returnTo=${J}`)}else l.set("Location",R);l.status=302}async function Io(l){let U=l.request.href.split("?")[0],R=await Ge(l.request.query.code,U),J=so.default.generate(),X=await Se.getSalt(),ee=`${J}.${X}`,gt=await Se.deriveAesGcmKey(J,X),pe=await Se.encrypt(gt,JSON.stringify(R));await A.put(J,pe);let wt=l.request.hostname.match(/[^.]+\.[^.]+$/i)[0];l.status=302,Z==="query"?l.set("Location",`${l.request.query.state}?auth=${ee}`):(l.set("Set-Cookie",Me.default.serialize(e,ee,{httpOnly:t,domain:`.${wt}`,path:"/",maxAge:60*60*24*365})),l.set("Location",l.request.query.state))}async function Wo(l,U){let[R,J]=U.split("."),X=await A.get(R);if(X){let ee=await Se.deriveAesGcmKey(R,J),gt=await Se.decrypt(ee,X),pe=JSON.parse(gt);if(pe.expires<Date.now()){pe=await er({refresh_token:pe.refresh_token,clientId:H,authDomain:W,clientSecret:Q});let wt=await Se.encrypt(ee,JSON.stringify(pe));await A.put(R,wt)}l.state.accessToken=pe.access_token,l.state.accessToken&&(l.request.headers.authorization=`bearer ${l.state.accessToken}`)}else{let ee=l.request.hostname.match(/[^.]+\.[^.]+$/i)[0];l.set("Set-Cookie",Me.default.serialize(e,"",{domain:`.${ee}`,maxAge:0}))}}function _r(l){let U=ve.get(l,"request.query.redirect-to");if(U)return U;let R=ve.get(l,"request.headers.referer");return R||"/"}async function Jo(l){if(l.request.method==="OPTIONS")l.status=200;else{let U=_r(l),R=encodeURIComponent(U||"/"),J=encodeURIComponent(`${l.request.protocol}://${l.request.host}${k}`);l.status=302,l.set("location",`${W}${x}/authorize?state=${R}&client_id=${H}&response_type=code&scope=${xe}&audience=${B}&redirect_uri=${J}`)}}async function No(l,U){if(l.request.method==="OPTIONS")await U(l);else if(ve.get(l,"request.headers.authorization","").toLowerCase().startsWith("bearer "))ve.set(l,"state.access_token",l.request.headers.authorization.slice(7)),await U(l);else{let R=ve.get(l,"request.query.auth")||no({cookieHeader:l.request.headers.cookie,cookieName:e});if(R&&await Wo(l,R),ve.get(l,"state.accessToken")||r)await U(l);else if(ic(l.request.headers.accept)){let X=encodeURIComponent(l.request.href),ee=encodeURIComponent(`${l.request.protocol}://${l.request.host}${k}`);l.status=302,l.set("location",`${W}${x}/authorize?state=${X}&client_id=${H}&response_type=code&scope=${xe}&audience=${B}&redirect_uri=${ee}`)}else l.status=403,l.body="Forbidden"}}return async(l,U)=>{switch(l.request.path){case k:await Io(l);break;case Be:await Uo(l);break;case K:await Jo(l);break;default:await No(l,U)}}}var io=O(V());var cc={get:io.default};function uc(e){let t={};return Object.keys(e).forEach(r=>{r.startsWith("cf")||(t[r]=e[r])}),t}function nr(e){let{localOriginOverride:t,backend:r}=e;return async n=>{let o=process.env.LOCAL?`${t||n.request.origin}${n.request.path}`:`${r}${n.request.path}`,a={headers:uc(n.request.headers),method:n.request.method,redirect:"manual"};if(N.methodsMethodsWithBody.indexOf(n.request.method)!==-1&&cc.get(n,"event.request.body")){let c=n.event.request.clone();a.body=c.body}let s=await fetch(o,a);n.body=s.body,n.status=s.status;let i=v.instanceToJson(s.headers);Object.keys(i).forEach(c=>{n.set(c,i[c])})}}function or({body:e="",headers:t={},status:r=200}){return async n=>{e instanceof Object?(n.body=JSON.stringify(e),n.set("Content-Type","application/json")):n.body=v.resolveParams(e,n.params),n.status=r,Object.keys(t).forEach(o=>{n.set(o,v.resolveParams(t[o],n.params))})}}var co=O(V()),uo=O(ot()),ar={get:co.default,set:uo.default};function sr({type:e="IP",scope:t="default",limit:r=1e3}){let n={};function o(s,i){let c=i["x-real-ip"];return e==="IP"?`minute.${s}.${t}.${c}`:`minute.${s}.${t}.account`}function a(s){let i=ar.get(n,"minutes",{});Object.keys(i).forEach(c=>{c!==s&&delete n.minutes.minute})}return async(s,i)=>{let c=Math.trunc(Date.now()/6e4),d=Math.trunc(c*60+60-Date.now()/1e3),p=o(c,s.request.headers),u=ar.get(n,p,0);if(["HEAD","OPTIONS"].indexOf(s.request.method)===-1&&(u+=1),ar.set(n,p,u),r<u){s.status=429;return}a(c),await i(s)}}var po=O(Qe());function dc(e,t={}){if(e&&t.forcePathStyle){let r=new URL(e);return`${r.protocol}//${r.host}/${t.bucket}`}if(e){let r=new URL(e);return`${r.protocol}//${t.bucket}.${r.host}`}return t.forcePathStyle&&t.region?`https://s3.${t.region}.amazonaws.com/${t.bucket}`:t.forcePathStyle?`https://s3.amazonaws.com/${t.bucket}`:t.region?`https://${t.bucket}.s3.${t.region}.amazonaws.com`:`https://${t.bucket}.s3.amazonaws.com`}function ir({accessKeyId:e,secretAccessKey:t,bucket:r,region:n,endpoint:o,forcePathStyle:a,enableBucketOperations:s=!1}){let i=new po.AwsClient({accessKeyId:e,region:n,secretAccessKey:t}),c=dc(o,{region:n,bucket:r,forcePathStyle:a});return async d=>{if(d.params.file===void 0&&!s){d.status=404,d.body=N.http.statusMessages[404],d.set("Content-Type","text/plain");return}let p=d.params.file?v.resolveParams(`${c}/{file}`,d.params):c,u={};d.request.headers.range&&(u.range=d.request.headers.range);let f=await i.fetch(p,{method:d.method||d.request.method,headers:u});d.status=f.status,d.body=f.body;let h=v.instanceToJson(f.headers);Object.keys(h).forEach(y=>{d.set(y,h[y])})}}var cr;function fo(e){return new Uint8Array(e.split("").map(r=>r.charCodeAt(0)))}async function pc(e){return cr||(cr=await crypto.subtle.importKey("raw",fo(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"])),cr}async function fc(e,t){let r=await pc(t),n=await crypto.subtle.sign({name:"HMAC"},r,fo(e));return btoa(String.fromCharCode.apply(null,new Uint8Array(n))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ur({secret:e}){return async(t,r)=>{let n=(t.request.path+t.request.search).replace(/([?|&]sign=[\w|-]+)/,"");if(await fc(n,e)!==t.query.sign){t.status=403;return}await r(t)}}function dr({host:e}){if(!e)throw new Error("Need to specify a host for the split middleware.");return async(t,r)=>{let n=t.clone();n.cloned=!0,n.request={...n.request,href:n.request.href.replace(n.request.href,e),host:e},t.event.waitUntil(r(n)),await r(t)}}async function hc(e,t,r){let n=e.getReader(),o=t.getWriter(),a=new TextDecoder,s=new TextEncoder;for(;;){let{done:i,value:c}=await n.read();if(i)break;let d=a.decode(c),p=ho(d,r),u=s.encode(p);await o.write(u)}await o.close()}function lc(e,t){return e.replace(/{{\$(\d)}}/g,(r,n)=>t[parseInt(n,10)])}function ho(e,t){return t.reduce((r,n)=>r.replace(n.regex,(...o)=>lc(n.replace,o)),e)}function pr({transforms:e=[],statusCodes:t=[200]}){let r=e.map(n=>({regex:new RegExp(n.regex,"g"),replace:n.replace}));return async(n,o)=>{await o(n);let{body:a}=n;if(t.indexOf(n.status)!==-1)if(typeof a=="string")n.body=ho(a,r);else{let{readable:s,writable:i}=new TransformStream;hc(a,i,r),n.body=s}}}async function mc({projectID:e="your-project-id",API_KEY:t="GCP_API_KEY",token:r="action-token",siteKey:n="siteKey",expectedAction:o="action-name"}){let s=await(await fetch(`https://recaptchaenterprise.googleapis.com/v1/projects/${e}/assessments?key=${t}`,{body:JSON.stringify({event:{token:r,siteKey:n,expectedAction:o}}),headers:{"Content-Type":"application/json"},method:"POST"})).json();return s.tokenProperties.valid?s.tokenProperties.action===o?(s.riskAnalysis.reasons.forEach(i=>{console.log(i)}),s.riskAnalysis.score):(console.error("reCAPTCHA action error:"+o+":action:"+s.tokenProperties.action),null):(console.error("The CreateAssessment call failed because the token was: "+s.tokenProperties.invalidReason),0)}var yc=e=>(e=e.split("?")[0],e.replace(/\W/g,"").slice(0,100));function fr({projectID:e,API_KEY:t,siteKey:r}){function n(o){return{token:o["g-recaptcha-token"]}}return async(o,a)=>{let{token:s}=n(o.request.headers),i=yc(o.request.path);if((await mc({projectID:e,API_KEY:t,token:s,siteKey:r,expectedAction:i})||0)<.5){o.status=409;return}await a(o)}}async function gc({secret:e,token:t,expectedAction:r,remoteip:n}){if(!t)return{ok:!1,score:0,errorCodes:["missing-input-response"]};let o=new URLSearchParams({secret:e,response:t,...n?{remoteip:n}:{}}),s=await(await fetch("https://www.google.com/recaptcha/api/siteverify",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o})).json(),i=!!s.success,c=s.action===r,d=typeof s.score=="number"?s.score:0;return{ok:i&&c,score:d,action:s.action,errorCodes:s["error-codes"]}}var wc=e=>{let t=e;try{t=new URL(e,"http://dummy").pathname}catch{}return t=t.split("?")[0]||"/",t.replace(/\W/g,"").slice(0,100)},De=(e,t)=>{if(e instanceof Headers)return e.get(t);let r=e[t]??e[t.toLowerCase()];return Array.isArray(r)?r[0]??null:r??null};function hr({secret:e,headerName:t="x-recaptcha-token",minScore:r=.5,requireActionMatch:n=!0}){return async(o,a)=>{let s=o.request?.req||o.request||o,i=s.headers??o.request?.headers??{},c=De(i,t)||De(i,"g-recaptcha-token")||null,p=De(i,"x-recaptcha-action")||wc(o.request?.path||o.request?.url||s.url||"/"),u=De(i,"cf-connecting-ip")||De(i,"x-forwarded-for")||void 0,f=await gc({secret:e,token:c,expectedAction:p,remoteip:u});if(!(f.score>=r&&f.ok)){let y={action:f.action,expectedAction:p,score:f.score??0,errors:f.errorCodes??[]};console.warn("[reCAPTCHA] failed:"+JSON.stringify(y)),o.status=409,o.set?.("Content-Type","application/json"),o.body=JSON.stringify({error:"reCAPTCHA verification failed"});return}await a(o)}}var Ac=e=>!new RegExp("(\b)(onS+)(s*)=|javascript|<(|/|[^/>][^>]+|/[^>][^>]+)>").test(e),Sc=(e,t,r)=>!(!Ac(t)||!r[e](t)),Ec=e=>!(e===null||typeof e!="object"||Array.isArray(e)&&(!e[0]||typeof e[0]!="object")),lr=(e,t)=>{let r=Object.keys(e);for(let n of r){if(!t[n])return console.error("key not allowed",n),!1;if(e[n]===null&&(e[n]=""),Ec(e[n])){if(!lr(e[n],t))return console.error("error validating key+validateObject:",n),!1}else if(!Sc(n,e[n],t))return console.error("error validating key+validateKeyValue:",n),!1}return!0},bc=e=>!(e==null||typeof e!="object"),vc=(e,t)=>{let r=e.query;return bc(r)?lr(r,t):!1};async function _c(e){if(["POST","PATCH","PUT","DELETE"].indexOf(e.method)===-1)return{};try{let t=await e.text();return JSON.parse(t)}catch{}return{}}function mr({allowedKeys:e}){return async(r,n)=>{if(!e)return r.status=501,!1;if(!vc(r,e))return r.status=422,!1;let o=await _c(r.request);if(!lr(o,e))return r.status=422,!1;await n(r)}}var Ko=O(V());var P=crypto,G=e=>e instanceof CryptoKey;var M=new TextEncoder,q=new TextDecoder,zd=2**32;function se(...e){let t=e.reduce((o,{length:a})=>o+a,0),r=new Uint8Array(t),n=0;return e.forEach(o=>{r.set(o,n),n+=o.length}),r}var lo=e=>{let t=e;typeof t=="string"&&(t=M.encode(t));let r=32768,n=[];for(let o=0;o<t.length;o+=r)n.push(String.fromCharCode.apply(null,t.subarray(o,o+r)));return btoa(n.join(""))},F=e=>lo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");var _e=class extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(t){super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};var E=class extends _e{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}};var L=class extends _e{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ie=class extends _e{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}};var dt=P.getRandomValues.bind(P);function ne(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function pt(e,t){return e.name===t}function yr(e){return parseInt(e.name.slice(4),10)}function Tc(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Hc(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function yo(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!pt(e.algorithm,"HMAC"))throw ne("HMAC");let n=parseInt(t.slice(2),10);if(yr(e.algorithm.hash)!==n)throw ne(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!pt(e.algorithm,"RSASSA-PKCS1-v1_5"))throw ne("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(yr(e.algorithm.hash)!==n)throw ne(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!pt(e.algorithm,"RSA-PSS"))throw ne("RSA-PSS");let n=parseInt(t.slice(2),10);if(yr(e.algorithm.hash)!==n)throw ne(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw ne("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!pt(e.algorithm,"ECDSA"))throw ne("ECDSA");let n=Tc(t);if(e.algorithm.namedCurve!==n)throw ne(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Hc(e,r)}function go(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var z=(e,...t)=>go("Key must be ",e,...t);function gr(e,t,...r){return go(`Key for the ${e} algorithm must be `,t,...r)}var wr=e=>G(e),T=["CryptoKey"];var Uc=(...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let o=Object.keys(n);if(!r||r.size===0){r=new Set(o);continue}for(let a of o){if(r.has(a))return!1;r.add(a)}}return!0},Ce=Uc;function Ic(e){return typeof e=="object"&&e!==null}function D(e){if(!Ic(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var ft=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}};var ue=(e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let o=e.subarray(n,n+t.length);return o.length!==t.length?!1:o.every((a,s)=>a===t[s])||ue(e,t,n+1)},Ao=e=>{switch(!0){case ue(e,[42,134,72,206,61,3,1,7]):return"P-256";case ue(e,[43,129,4,0,34]):return"P-384";case ue(e,[43,129,4,0,35]):return"P-521";case ue(e,[43,101,110]):return"X25519";case ue(e,[43,101,111]):return"X448";case ue(e,[43,101,112]):return"Ed25519";case ue(e,[43,101,113]):return"Ed448";default:throw new E("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},Mc=async(e,t,r,n,o)=>{let a,s,i=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),c=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},s=c?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},s=c?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},s=c?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},s=c?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},s=c?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},s=c?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Ao(i);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},s=c?[]:["deriveBits"];break}case"EdDSA":a={name:Ao(i)},s=c?["verify"]:["sign"];break;default:throw new E('Invalid or unsupported "alg" (Algorithm) value')}return P.subtle.importKey(t,i,a,o?.extractable??!1,s)},So=(e,t,r)=>Mc(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r);async function Ar(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return So(e,t,r)}var Dc=(e,t)=>{if(!(t instanceof Uint8Array)){if(!wr(t))throw new TypeError(gr(e,t,...T,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${T.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},kc=(e,t,r)=>{if(!wr(t))throw new TypeError(gr(e,t,...T));if(t.type==="secret")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${T.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},$c=(e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?Dc(e,t):kc(e,t,r)},qe=$c;function zc(e,t,r,n,o){if(o.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(s=>typeof s!="string"||s.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let a;r!==void 0?a=new Map([...Object.entries(r),...t.entries()]):a=t;for(let s of n.crit){if(!a.has(s))throw new E(`Extension Header Parameter "${s}" is not recognized`);if(o[s]===void 0)throw new e(`Extension Header Parameter "${s}" is missing`);if(a.get(s)&&n[s]===void 0)throw new e(`Extension Header Parameter "${s}" MUST be integrity protected`)}return new Set(n.crit)}var Pe=zc;var Qc=Symbol();function ht(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new E(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}function lt(e,t,r){if(G(t))return yo(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(z(t,...T));return P.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(z(t,...T,"Uint8Array"))}var de=e=>Math.floor(e.getTime()/1e3);var tu=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,mt=e=>{let t=tu.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}};var au=async(e,t,r)=>{let n=await lt(e,t,"sign");ft(e,n);let o=await P.subtle.sign(ht(e,n.algorithm),n,r);return new Uint8Array(o)},Po=au;var Te=class{constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new L("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Ce(this._protectedHeader,this._unprotectedHeader))throw new L("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},o=Pe(L,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),a=!0;if(o.has("b64")&&(a=this._protectedHeader.b64,typeof a!="boolean"))throw new L('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=n;if(typeof s!="string"||!s)throw new L('JWS "alg" (Algorithm) Header Parameter missing or invalid');qe(s,t,"sign");let i=this._payload;a&&(i=M.encode(F(i)));let c;this._protectedHeader?c=M.encode(F(JSON.stringify(this._protectedHeader))):c=M.encode("");let d=se(c,M.encode("."),i),p=await Po(s,t,d),u={signature:F(p),payload:""};return a&&(u.payload=q.decode(i)),this._unprotectedHeader&&(u.header=this._unprotectedHeader),this._protectedHeader&&(u.protected=q.decode(c)),u}};var Fe=class{constructor(t){this._flattened=new Te(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}};function He(e,t){if(!Number.isFinite(t))throw new TypeError(`Invalid ${e} input`);return t}var Ke=class{constructor(t={}){if(!D(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:He("setNotBefore",t)}:t instanceof Date?this._payload={...this._payload,nbf:He("setNotBefore",de(t))}:this._payload={...this._payload,nbf:de(new Date)+mt(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:He("setExpirationTime",t)}:t instanceof Date?this._payload={...this._payload,exp:He("setExpirationTime",de(t))}:this._payload={...this._payload,exp:de(new Date)+mt(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:de(new Date)}:t instanceof Date?this._payload={...this._payload,iat:He("setIssuedAt",de(t))}:this._payload={...this._payload,iat:He("setIssuedAt",t)},this}};var Le=class extends Ke{setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){let n=new Fe(M.encode(JSON.stringify(this._payload)));if(n.setProtectedHeader(this._protectedHeader),Array.isArray(this._protectedHeader?.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ie("JWTs MUST NOT use unencoded payload");return n.sign(t,r)}};var uu;(typeof navigator>"u"||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(uu="jose/v5.1.0");var To=function e(t){function r(o,a,s){var i,c={};if(Array.isArray(o))return o.concat(a);for(i in o)c[s?i.toLowerCase():i]=o[i];for(i in a){var d=s?i.toLowerCase():i,p=a[i];c[d]=d in c&&typeof p=="object"?r(c[d],p,d=="headers"):p}return c}function n(o,a,s,i,c){var d=typeof o!="string"?(a=o).url:o,p={config:a},u=r(t,a),f={};i=i||u.data,(u.transformRequest||[]).map(function(h){i=h(i,u.headers)||i}),u.auth&&(f.authorization=u.auth),i&&typeof i=="object"&&typeof i.append!="function"&&typeof i.text!="function"&&(i=JSON.stringify(i),f["content-type"]="application/json");try{f[u.xsrfHeaderName]=decodeURIComponent(document.cookie.match(RegExp("(^|; )"+u.xsrfCookieName+"=([^;]*)"))[2])}catch{}return u.baseURL&&(d=d.replace(/^(?!.*\/\/)\/?/,u.baseURL+"/")),u.params&&(d+=(~d.indexOf("?")?"&":"?")+(u.paramsSerializer?u.paramsSerializer(u.params):new URLSearchParams(u.params))),(u.fetch||fetch)(d,{method:(s||u.method||"get").toUpperCase(),body:i,headers:r(u.headers,f,!0),credentials:u.withCredentials?"include":c}).then(function(h){for(var y in h)typeof h[y]!="function"&&(p[y]=h[y]);return u.responseType=="stream"?(p.data=h.body,p):h[u.responseType||"text"]().then(function(w){p.data=w,p.data=JSON.parse(w)}).catch(Object).then(function(){return(u.validateStatus?u.validateStatus(h.status):h.ok)?p:Promise.reject(p)})})}return t=t||{},n.request=n,n.get=function(o,a){return n(o,a,"get")},n.delete=function(o,a){return n(o,a,"delete")},n.head=function(o,a){return n(o,a,"head")},n.options=function(o,a){return n(o,a,"options")},n.post=function(o,a,s){return n(o,s,"post",a)},n.put=function(o,a,s){return n(o,s,"put",a)},n.patch=function(o,a,s){return n(o,s,"patch",a)},n.all=Promise.all.bind(Promise),n.spread=function(o){return o.apply.bind(o,o)},n.CancelToken=typeof AbortController=="function"?AbortController:Object,n.defaults=t,n.create=e,n}();var fu=e=>{if(!e)return!1;let t=JSON.parse(atob(e.split(".")[1])),r=Math.floor(Date.now()/1e3);return t.exp>r-600},yt=async(e,t)=>{let r=await GCP_INVOKER_TOKEN.get(t);if(fu(r))return r;let n=await Ar(e.private_key,"RS256"),o=e.client_email,a={iss:o,sub:o,aud:"https://www.googleapis.com/oauth2/v4/token",target_audience:t,iat:Math.floor(Date.now()/1e3),exp:Math.floor(Date.now()/1e3)+3600},s=await new Le(a).setProtectedHeader({alg:"RS256",typ:"JWT"}).sign(n),i=await To.post("https://www.googleapis.com/oauth2/v4/token",{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:s});return await GCP_INVOKER_TOKEN.delete(t),await GCP_INVOKER_TOKEN.put(t,i.data.id_token),i.data.id_token};var Ho={get:Ko.default};function Er({project_id:e,region:t,functionName:r,serviceAccount:n}){return async o=>{let a=Ho.get(o,"request.query",{}),s=new URLSearchParams(a).toString(),i=`https://${t}-${e}.cloudfunctions.net/${r}`,c=`https://${t}-${e}.cloudfunctions.net/${r}${s?`?${s}`:""}`;console.log("urlWithParms:",c);let d=await yt(n,i);o.request.headers["X-Serverless-Authorization"]=`Bearer ${d}`;let p={headers:o.request.headers,method:o.request.method,redirect:"manual"};if(N.methodsMethodsWithBody.indexOf(o.request.method)!==-1&&Ho.get(o,"event.request.body")){let h=o.event.request.clone();p.body=h.body}let u=await fetch(c,p);o.body=u.body,o.status=u.status;let f=v.instanceToJson(u.headers);Object.keys(f).forEach(h=>{o.set(h,f[h])})}}var Oo=O(V());var hu={get:Oo.default};function br({domain:e,serviceAccount:t}){return async r=>{let n=`${e}${r.request.path}`,o=await yt(t,e),a=new Headers(r.request.headers);a.set("X-Serverless-Authorization",`Bearer ${o}`),a.set("X-Token",a.get("authorization")||"N/A"),a.set("authorization","");let s=r.event.cf||{},i={"X-Geo-Country":s.country,"X-Geo-City":s.city,"X-Geo-Latitude":s.latitude,"X-Geo-Longitude":s.longitude,"X-Geo-Timezone":s.timezone,"X-Geo-Region":s.region,"X-Geo-PostalCode":s.postalCode,"X-Geo-RegionCode":s.regionCode,"X-Geo-EU-Country":s.isEUCountry?"1":"0"};for(let[u,f]of Object.entries(i))f!==void 0&&a.set(u,f);let c={method:r.request.method,headers:a,redirect:"manual"};if(N.methodsMethodsWithBody.includes(r.request.method)&&hu.get(r,"event.request.body")){let u=r.event.request.clone();c.body=u.body}let d=await fetch(n,c),p=v.instanceToJson(d.headers);r.status=d.status,r.body=await d.text(),console.log("**************11"+JSON.stringify(r.response.headers)),Object.entries(p).forEach(([u,f])=>{u=u.toLowerCase();let h=r.header(u);h||(console.log("-----"+JSON.stringify({existing:h,key:u,value:f})),r.set(u,f))}),console.log("**************22"+JSON.stringify(r.response.headers))}}function vr({headers:e={},headersFN:t}){return async(r,n)=>{if(e)for(let o of Object.keys(e))r.set(o,e[o]);if(t){let o=await t();for(let a of Object.keys(o))r.set(a,o[a])}await n(r)}}var xo={basicAuth:Ot,cache:Ut,cors:It,geoDecorator:Wt,jwt:Jt,kvStorage:Nt,kvStorageBinding:Dt,lambda:kt,loadbalancer:Bt,logger:Vt,oauth2:rr,origin:nr,rateLimit:sr,response:or,s3:ir,signature:ur,split:dr,transform:pr,recaptcha:fr,recaptchaV3:hr,userInputValidation:mr,cloudfunction:Er,gcpCloudrun:br,headers:vr};module.exports=class{constructor(t=[],r={}){this.router=new Ro.default,t.forEach(n=>{let o=r[n.handlerName]||xo[n.handlerName];if(!o)throw new Error(`Handler ${n.handlerName} is not supported`);this.router.add(n,o(n.options))})}async resolve(t){return t.cf=t?.request?.cf||{},this.router.resolve(t)}};
|
|
8
8
|
/*! Bundled license information:
|
|
9
9
|
|
|
10
10
|
aws4fetch/dist/aws4fetch.umd.js:
|