@adonix.org/cloud-spark 2.0.5 → 2.0.7
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/README.md +0 -1
- package/dist/cache.js +2 -2
- package/dist/cache.js.map +1 -1
- package/dist/cors.js +1 -1
- package/dist/cors.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/websocket.js +1 -1
- package/dist/websocket.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -837,7 +837,6 @@ wrangler init
|
|
|
837
837
|
- [Hibernation WebSocket API](https://developers.cloudflare.com/durable-objects/best-practices/websockets/#durable-objects-hibernation-websocket-api)
|
|
838
838
|
- [Standard WebSocket API](https://developers.cloudflare.com/workers/runtime-apis/websockets/)
|
|
839
839
|
- [Postman](https://www.postman.com/downloads/)
|
|
840
|
-
- [http-status-codes](https://github.com/prettymuchbryce/http-status-codes)
|
|
841
840
|
- [path-to-regexp](https://github.com/pillarjs/path-to-regexp)
|
|
842
841
|
|
|
843
842
|
##
|
package/dist/cache.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import re from'cache-control-parser';function _(t){return typeof t=="string"}function j(t){return typeof t=="number"&&!Number.isNaN(t)}function J(t){if(typeof t!="object"||t===null)throw new TypeError("CacheInit must be an object.");let{name:e,getKey:n}=t;Oe(e),Ae(n);}function Oe(t){if(t!==void 0&&!_(t))throw new TypeError("Cache name must be a string.")}function Ae(t){if(t!==void 0&&typeof t!="function")throw new TypeError("getKey must be a function.")}function Z(t){if(!(t instanceof URL))throw new TypeError("getKey must return a URL.")}function ee(t){let e=new URL(t.url);return e.searchParams.sort(),e.hash="",e}function De(t){let e=new URL(t.url);return e.search="",e.hash="",e}var I=class{rules=[];use(...e){return this.rules.push(...e),this}execute(e,n){return this.rules.reduceRight((o,a)=>()=>a.apply(e,o),()=>n())()}};var E={parse:re.parse,stringify:re.stringify,DISABLE:Object.freeze({"no-cache":true,"no-store":true,"must-revalidate":true,"max-age":0})};var te=(p=>(p.GET="GET",p.PUT="PUT",p.HEAD="HEAD",p.POST="POST",p.PATCH="PATCH",p.DELETE="DELETE",p.OPTIONS="OPTIONS",p))(te||{}),{GET:C,PUT:Ge,HEAD:ne,POST:Me,PATCH:Ve,DELETE:Fe,OPTIONS:We}=te;var x=(r=>(r[r.CONTINUE=100]="CONTINUE",r[r.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",r[r.PROCESSING=102]="PROCESSING",r[r.EARLY_HINTS=103]="EARLY_HINTS",r[r.OK=200]="OK",r[r.CREATED=201]="CREATED",r[r.ACCEPTED=202]="ACCEPTED",r[r.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",r[r.NO_CONTENT=204]="NO_CONTENT",r[r.RESET_CONTENT=205]="RESET_CONTENT",r[r.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",r[r.MULTI_STATUS=207]="MULTI_STATUS",r[r.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",r[r.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",r[r.FOUND=302]="FOUND",r[r.SEE_OTHER=303]="SEE_OTHER",r[r.NOT_MODIFIED=304]="NOT_MODIFIED",r[r.USE_PROXY=305]="USE_PROXY",r[r.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",r[r.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",r[r.BAD_REQUEST=400]="BAD_REQUEST",r[r.UNAUTHORIZED=401]="UNAUTHORIZED",r[r.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",r[r.FORBIDDEN=403]="FORBIDDEN",r[r.NOT_FOUND=404]="NOT_FOUND",r[r.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",r[r.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",r[r.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",r[r.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",r[r.CONFLICT=409]="CONFLICT",r[r.GONE=410]="GONE",r[r.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",r[r.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",r[r.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",r[r.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",r[r.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",r[r.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",r[r.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",r[r.IM_A_TEAPOT=418]="IM_A_TEAPOT",r[r.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",r[r.METHOD_FAILURE=420]="METHOD_FAILURE",r[r.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",r[r.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",r[r.LOCKED=423]="LOCKED",r[r.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",r[r.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",r[r.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",r[r.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",r[r.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",r[r.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",r[r.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",r[r.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",r[r.BAD_GATEWAY=502]="BAD_GATEWAY",r[r.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",r[r.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",r[r.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",r[r.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",r[r.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED",r))(x||{});var s={ACCEPT:"accept",ACCEPT_ENCODING:"accept-encoding",ACCEPT_LANGUAGE:"accept-language",AUTHORIZATION:"authorization",CACHE_CONTROL:"cache-control",CONTENT_DISPOSITION:"content-disposition",CONTENT_ENCODING:"content-encoding",CONTENT_LANGUAGE:"content-language",CONTENT_LENGTH:"content-length",CONTENT_RANGE:"content-range",CONTENT_TYPE:"content-type",CONTENT_MD5:"content-md5",COOKIE:"cookie",ETAG:"etag",IF_MATCH:"if-match",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",IF_UNMODIFIED_SINCE:"if-unmodified-since",LAST_MODIFIED:"last-modified",ORIGIN:"origin",RANGE:"range",SET_COOKIE:"set-cookie",VARY:"vary",UPGRADE:"upgrade",INTERNAL_VARIANT_SET:"internal-variant-set"},ie=[s.CONTENT_TYPE,s.CONTENT_LENGTH,s.CONTENT_RANGE,s.CONTENT_ENCODING,s.CONTENT_LANGUAGE,s.CONTENT_DISPOSITION,s.CONTENT_MD5],oe=[s.CONTENT_LENGTH,s.CONTENT_RANGE];function A(t,e){return t<e?-1:t>e?1:0}function K(t,e,n){let i=Array.isArray(n)?n:[n],o=Array.from(new Set(i.map(a=>a.trim()))).filter(a=>a.length).sort(A);if(!o.length){t.delete(e);return}t.set(e,o.join(", "));}function se(t,e,n){let i=Array.isArray(n)?n:[n];if(i.length===0)return;let a=u(t,e).concat(i.map(c=>c.trim()));K(t,e,a);}function u(t,e){let n=t.get(e)?.split(",").map(i=>i.trim()).filter(i=>i.length>0)??[];return Array.from(new Set(n)).sort(A)}function B(t,e){for(let n of e)t.delete(n);}var ge="https://vary",_e="*";function ae(t,e){if(e.status!==200||t.method!==C||t.headers.has(s.AUTHORIZATION)||t.headers.has(s.COOKIE)||d(t.headers)["no-store"]||!e.headers.has(s.CACHE_CONTROL))return false;let i=d(e.headers),o=i["s-maxage"]??i["max-age"];if(o===void 0||o===0||i["no-store"]||i["no-cache"]||i.private||e.headers.has(s.SET_COOKIE)||Y(e).includes(_e))return false;if(e.headers.has(s.INTERNAL_VARIANT_SET))throw new Error("Found conflicting vary header.");if(e.headers.has(s.CONTENT_RANGE))throw new Error("Found content-range header on 200 OK. Must use 206 Partial Content");return true}function d(t){return E.parse(t.get(s.CACHE_CONTROL)??"")}function Y(t){return h(u(t.headers,s.VARY))}function h(t){let e=t.map(n=>n.toLowerCase()).filter(n=>n!==s.ACCEPT_ENCODING).sort(A);return Array.from(new Set(e))}function T(t,e,n){let i=[],o=h(e);for(let c of o){let p=t.headers.get(c);p!==null&&i.push([c,Ie(c,p)]);}let a=Ce(JSON.stringify([n.toString(),i]));return new URL(a,ge).toString()}function Ie(t,e){switch(t.toLowerCase()){case s.ACCEPT:case s.ACCEPT_LANGUAGE:case s.ORIGIN:return e.toLowerCase();default:return e}}function Ce(t){let e=new TextEncoder().encode(t),n="";for(let i of e)n+=String.fromCodePoint(i);return btoa(n).replaceAll("+","-").replaceAll("/","_").replace(/={1,2}$/,"")}var xe=/^bytes=(\d{1,12})-(\d{0,12})$/,ce="W/",pe="*";function fe(t){let e=t.headers.get(s.RANGE);if(!e)return;let n=xe.exec(e);if(!n)return;let i=Number(n[1]),o=n[2]===""?void 0:Number(n[2]);return o===void 0?{start:i}:{start:i,end:o}}function ue(t,e){return t.length>0&&!Ee(t,e,pe)}function me(t,e){return Ee(t,le(e),pe)}function Ee(t,...e){return t.some(n=>e.includes(n))}function H(t){if(!_(t))return;let e=Date.parse(t);return Number.isNaN(e)?void 0:e}function le(t){return t.startsWith(ce)?t.slice(2):t}function Q(t){return {ifMatch:u(t,s.IF_MATCH).filter(e=>!e.startsWith(ce)),ifNoneMatch:u(t,s.IF_NONE_MATCH).map(le),ifModifiedSince:t.get(s.IF_MODIFIED_SINCE),ifUnmodifiedSince:t.get(s.IF_UNMODIFIED_SINCE)}}function de(t){let{ifNoneMatch:e,ifMatch:n,ifModifiedSince:i,ifUnmodifiedSince:o}=Q(t);return e.length>0||n.length>0||i!==null||o!==null}function he(t){let e=t.get(s.CONTENT_LENGTH);if(e===null||e.trim()==="")return;let n=Number(e);if(j(n))return n}var y=class{async apply(e,n){let i=d(e.request.headers);if(!i["no-store"]&&!((i["no-cache"]||i["max-age"]===0)&&!de(e.request.headers)))return n()}};var Te="utf-8";function Re(t,e){return !e||t.toLowerCase().includes("charset=")?t:`${t}; charset=${e.toLowerCase()}`}function L(t){return x[t].toLowerCase().replaceAll("_"," ").replaceAll(/\b\w/g,e=>e.toUpperCase())}var q=class{headers=new Headers;status=200;statusText;webSocket;mediaType="text/plain; charset=utf-8";get responseInit(){return {headers:this.headers,status:this.status,statusText:this.statusText??L(this.status),webSocket:this.webSocket,encodeBody:"automatic"}}setHeader(e,n){K(this.headers,e,n);}mergeHeader(e,n){se(this.headers,e,n);}addContentType(){this.headers.get(s.CONTENT_TYPE)||this.setHeader(s.CONTENT_TYPE,this.mediaType);}filterHeaders(){this.status===204?B(this.headers,oe):this.status===304&&B(this.headers,ie);}},$=class extends q{constructor(n){super();this.cache=n;}addCacheHeader(){this.cache&&this.setHeader(s.CACHE_CONTROL,E.stringify(this.cache));}},l=class extends ${constructor(n=null,i){super(i);this.body=n;}async response(){this.addCacheHeader();let n=[204,304].includes(this.status)?null:this.body;return n&&this.addContentType(),this.filterHeaders(),new Response(n,this.responseInit)}};var R=class extends l{constructor(e){super(),this.status=304,this.headers=new Headers(e.headers);}},X=class extends l{constructor(e=null,n,i=200){super(e,n),this.status=i;}},D=class extends X{constructor(e={},n,i=200){super(JSON.stringify(e),n,i),this.mediaType=Re("application/json",Te);}};var P=class extends l{constructor(e){super(),this.status=e.status,this.statusText=e.statusText,this.headers=new Headers(e.headers);}};var z=class extends D{constructor(n,i){let o={status:n,error:L(n),details:i??""};super(o,E.DISABLE,n);this.details=i;}};var N=class extends z{constructor(e){super(412,e);}};var O=class{async apply(e,n){let i=await n();if(!i||i.status!==200)return i;let o=this.getHeader(i);if(o===void 0)return i;let a=Q(e.request.headers);return this.response(i,o,a)}};var w=class extends O{getHeader(e){return e.headers.get(s.ETAG)??void 0}},b=class extends w{async response(e,n,i){return ue(i.ifMatch,n)?new N(`ETag: ${n}`).response():e}},U=class extends w{async response(e,n,i){if(i.ifNoneMatch.length===0)return e;if(me(i.ifNoneMatch,n))return new R(e).response()}};var G=class{async apply(e,n){if(e.request.method===C)return n();if(e.request.method===ne){let i=await n();return i?new P(i).response():void 0}}};var M=class extends O{getHeader(e){return H(e.headers.get(s.LAST_MODIFIED))}},V=class extends M{async response(e,n,i){let o=H(i.ifModifiedSince);if(o===void 0)return e;if(n<=o)return new R(e).response()}},F=class extends M{async response(e,n,i){let o=H(i.ifUnmodifiedSince);return o===void 0?e:n>o?new N(`Last-Modified: ${new Date(n).toUTCString()}`).response():e}};var W=class{async apply(e,n){let i=fe(e.request);if(i&&(i.start!==0||i.end===0))return;let o=await n();if(!o||o.status!==200||!i||i.end===void 0)return o;let a=he(o.headers);if(a&&i.end===a-1)return o}};var v=class{async apply(e,n){let i=e.request.headers;if(!i.has(s.AUTHORIZATION)&&!i.has(s.COOKIE))return n()}};var S=class{async apply(e,n){if(!e.request.headers.has(s.UPGRADE))return n()}};var m=class t extends l{_isModified=false;constructor(e){let n=h(e);if(n.length===0)throw new Error("The filtered vary array is empty.");super(),this.setHeader(s.INTERNAL_VARIANT_SET,n);}static new(e){return new t(h(e))}static restore(e){if(!t.isVariantResponse(e))throw new Error("The source response is not a variant response");let n=t.new(u(e.headers,s.INTERNAL_VARIANT_SET)),i=e.headers.get(s.CACHE_CONTROL);return i&&(n.cache=E.parse(i)),n}get vary(){return u(this.headers,s.INTERNAL_VARIANT_SET)}get isModified(){return this._isModified}append(e){let n=this.vary.length;this.mergeHeader(s.INTERNAL_VARIANT_SET,h(e)),this._isModified=this.vary.length!==n;}static isVariantResponse(e){return e.headers.has(s.INTERNAL_VARIANT_SET)}expireAfter(e){let n=d(e.headers),i=n["s-maxage"]??n["max-age"];if(i===void 0)return;let o=this.cache?.["s-maxage"];(o===void 0||i>o)&&(this.cache={"s-maxage":i},this._isModified=true);}};var k=class{init;constructor(e){let{name:n,getKey:i=ee}=e;this.init={name:n?.trim()||void 0,getKey:i};}async handle(e,n){let i=this.init.name?await caches.open(this.init.name):caches.default,a=await new I().use(new y).use(new G).use(new S).use(new v).use(new W).use(new V).use(new U).use(new F).use(new b).execute(e,()=>this.getCached(i,e.request));if(a)return a;let c=await n();return e.ctx.waitUntil(this.setCached(i,e.request,c)),c}async getCached(e,n){let i=this.getCacheKey(n),o=await e.match(i.toString());if(!o)return;if(!m.isVariantResponse(o))return o;let a=m.restore(o).vary,c=T(n,a,i);return e.match(c)}async setCached(e,n,i){if(!ae(n,i))return;let o=this.getCacheKey(n),a=i.clone(),c=Y(a),p=await e.match(o),Ne=p&&m.isVariantResponse(p);if(!p){if(c.length===0){await e.put(o,a);return}let f=m.new(c);f.expireAfter(a),await e.put(o,await f.response()),await e.put(T(n,f.vary,o),a);return}if(Ne){let f=m.restore(p);f.expireAfter(a),c.length>0&&(f.append(c),f.isModified&&await e.put(o,await f.response())),await e.put(T(n,f.vary,o),a);return}if(c.length===0){await e.put(o,a);return}let g=m.new(c);g.expireAfter(p),g.expireAfter(a),await e.put(o,await g.response()),await e.put(T(n,g.vary,o),a),await e.put(T(n,[],o),p);}getCacheKey(e){let n=this.init.getKey(e);return Z(n),n.hash="",n}};function ft(t={}){return J(t),new k(t)}
|
|
2
|
-
export{
|
|
1
|
+
import F from'cache-control-parser';function G(n){return typeof n=="string"}function v(n){if(typeof n!="object"||n===null)throw new TypeError("CacheInit must be an object.");let{name:r,getKey:t}=n;S(r),z(t);}function S(n){if(n!==void 0&&!G(n))throw new TypeError("Cache name must be a string.")}function z(n){if(n!==void 0&&typeof n!="function")throw new TypeError("getKey must be a function.")}function M(n){if(!(n instanceof URL))throw new TypeError("getKey must return a URL.")}var h={parse:F.parse,stringify:F.stringify,DISABLE:Object.freeze({"no-cache":true,"no-store":true,"must-revalidate":true,"max-age":0})};var V=(p=>(p.GET="GET",p.PUT="PUT",p.HEAD="HEAD",p.POST="POST",p.PATCH="PATCH",p.DELETE="DELETE",p.OPTIONS="OPTIONS",p))(V||{}),{GET:A,PUT:se,HEAD:K,POST:oe,PATCH:ae,DELETE:ce,OPTIONS:pe}=V;var _=(e=>(e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED",e))(_||{});var s={ACCEPT:"accept",ACCEPT_ENCODING:"accept-encoding",ACCEPT_LANGUAGE:"accept-language",AUTHORIZATION:"authorization",CACHE_CONTROL:"cache-control",CONTENT_DISPOSITION:"content-disposition",CONTENT_ENCODING:"content-encoding",CONTENT_LANGUAGE:"content-language",CONTENT_LENGTH:"content-length",CONTENT_RANGE:"content-range",CONTENT_TYPE:"content-type",CONTENT_MD5:"content-md5",COOKIE:"cookie",IF_MODIFIED_SINCE:"if-modified-since",IF_NONE_MATCH:"if-none-match",ORIGIN:"origin",RANGE:"range",SET_COOKIE:"set-cookie",VARY:"vary",UPGRADE:"upgrade",INTERNAL_VARIANT_SET:"internal-variant-set"},W=[s.CONTENT_TYPE,s.CONTENT_LENGTH,s.CONTENT_RANGE,s.CONTENT_ENCODING,s.CONTENT_LANGUAGE,s.CONTENT_DISPOSITION,s.CONTENT_MD5],k=[s.CONTENT_LENGTH,s.CONTENT_RANGE];function Y(n){let r=new URL(n.url);return r.searchParams.sort(),r.hash="",r}function he(n){let r=new URL(n.url);return r.search="",r.hash="",r}var d=class{rules=[];use(...r){return this.rules.push(...r),this}execute(r,t){return this.rules.reduceRight((o,a)=>()=>a.apply(r,o),()=>t())()}};function R(n,r){return n<r?-1:n>r?1:0}function L(n,r,t){let i=Array.isArray(t)?t:[t],o=Array.from(new Set(i.map(a=>a.trim()))).filter(a=>a.length).sort(R);if(!o.length){n.delete(r);return}n.set(r,o.join(", "));}function q(n,r,t){let i=Array.isArray(t)?t:[t];if(i.length===0)return;let a=l(n,r).concat(i.map(c=>c.trim()));L(n,r,a);}function l(n,r){let t=n.get(r)?.split(",").map(i=>i.trim()).filter(i=>i.length>0)??[];return Array.from(new Set(t)).sort(R)}function D(n,r){for(let t of r)n.delete(t);}var X="https://vary",$="*",j=[s.IF_NONE_MATCH,s.IF_MODIFIED_SINCE];function B(n,r){if(r.status!==200||n.method!==A||n.headers.has(s.AUTHORIZATION)||n.headers.has(s.COOKIE)||m(n.headers)["no-store"]||!r.headers.has(s.CACHE_CONTROL))return false;let i=m(r.headers),o=i["s-maxage"]??i["max-age"];if(o===void 0||o===0||i["no-store"]||i["no-cache"]||i.private||r.headers.has(s.SET_COOKIE)||P(r).includes($))return false;if(r.headers.has(s.INTERNAL_VARIANT_SET))throw new Error("Found conflicting vary header.");if(r.headers.has(s.CONTENT_RANGE))throw new Error("Found content-range header on 200 OK. Must use 206 Partial Content");return true}function m(n){return h.parse(n.get(s.CACHE_CONTROL)??"")}function w(n,r){let t=new Request(r.toString());for(let i of j){let o=n.get(i);o!==null&&t.headers.set(i,o);}return t}function P(n){return u(l(n.headers,s.VARY))}function u(n){let r=n.map(t=>t.toLowerCase()).filter(t=>t!==s.ACCEPT_ENCODING).sort(R);return Array.from(new Set(r))}function N(n,r,t){let i=[],o=u(t);for(let c of o){let p=n.get(c);p!==null&&i.push([c,Z(c,p)]);}let a=J(JSON.stringify([r.toString(),i]));return new URL(a,X)}function Z(n,r){switch(n.toLowerCase()){case s.ACCEPT:case s.ACCEPT_LANGUAGE:case s.ORIGIN:return r.toLowerCase();default:return r}}function J(n){let r=new TextEncoder().encode(n),t="";for(let i of r)t+=String.fromCodePoint(i);return btoa(t).replaceAll("+","-").replaceAll("/","_").replace(/={1,2}$/,"")}var I=class{async apply(r,t){let i=m(r.request.headers);if(!(i["no-store"]||(i["no-cache"]||i["max-age"]===0)&&!(r.request.headers.has(s.IF_NONE_MATCH)||r.request.headers.has(s.IF_MODIFIED_SINCE))))return t()}};function Q(n){return _[n].toLowerCase().replaceAll("_"," ").replaceAll(/\b\w/g,r=>r.toUpperCase())}var b=class{headers=new Headers;status=200;statusText;webSocket;mediaType="text/plain; charset=utf-8";get responseInit(){return {headers:this.headers,status:this.status,statusText:this.statusText??Q(this.status),webSocket:this.webSocket,encodeBody:"automatic"}}setHeader(r,t){L(this.headers,r,t);}mergeHeader(r,t){q(this.headers,r,t);}addContentType(){this.headers.get(s.CONTENT_TYPE)||this.setHeader(s.CONTENT_TYPE,this.mediaType);}filterHeaders(){this.status===204?D(this.headers,k):this.status===304&&D(this.headers,W);}},U=class extends b{constructor(t){super();this.cache=t;}addCacheHeader(){this.cache&&this.setHeader(s.CACHE_CONTROL,h.stringify(this.cache));}},O=class extends U{constructor(t=null,i){super(i);this.body=t;}async response(){this.addCacheHeader();let t=[204,304].includes(this.status)?null:this.body;return t&&this.addContentType(),this.filterHeaders(),new Response(t,this.responseInit)}};var g=class extends O{constructor(r){super(),this.status=r.status,this.statusText=r.statusText,this.headers=new Headers(r.headers);}};var C=class{async apply(r,t){if(r.request.method===A)return t();if(r.request.method===K){let i=await t();return i?new g(i).response():void 0}}};var y=class{async apply(r,t){let i=r.request.headers;if(!i.has(s.AUTHORIZATION)&&!i.has(s.COOKIE))return t()}};var H=class{async apply(r,t){if(!r.request.headers.has(s.UPGRADE))return t()}};var T=class n extends O{_isModified=false;constructor(r){let t=u(r);if(t.length===0)throw new Error("The filtered vary array is empty.");super(),this.setHeader(s.INTERNAL_VARIANT_SET,t);}static new(r){return new n(u(r))}static restore(r){if(!n.isVariantResponse(r))throw new Error("The source response is not a variant response");let t=n.new(l(r.headers,s.INTERNAL_VARIANT_SET)),i=r.headers.get(s.CACHE_CONTROL);return i&&(t.cache=h.parse(i)),t}get vary(){return l(this.headers,s.INTERNAL_VARIANT_SET)}get isModified(){return this._isModified}append(r){let t=this.vary.length;this.mergeHeader(s.INTERNAL_VARIANT_SET,u(r)),this._isModified=this.vary.length!==t;}static isVariantResponse(r){return r.headers.has(s.INTERNAL_VARIANT_SET)}expireAfter(r){let t=m(r.headers),i=t["s-maxage"]??t["max-age"];if(i===void 0)return;let o=this.cache?.["s-maxage"];(o===void 0||i>o)&&(this.cache={"s-maxage":i},this._isModified=true);}};var x=class{init;constructor(r){let{name:t,getKey:i=Y}=r;this.init={name:t?.trim()||void 0,getKey:i};}async handle(r,t){let i=this.init.name?await caches.open(this.init.name):caches.default,a=await new d().use(new I).use(new C).use(new H).use(new y).execute(r,()=>this.getCached(i,r.request));if(a)return a;let c=await t();return r.ctx.waitUntil(this.setCached(i,r.request,c)),c}async getCached(r,t){let i=this.getCacheKey(t),o=w(t.headers,i),a=await r.match(o);if(!a)return;if(a.status!==200)return a;let c=t.headers.get(s.RANGE);if(!T.isVariantResponse(a))return c===null?a:(o.headers.set(s.RANGE,c),await r.match(o));let p=T.restore(a).vary,f=N(t.headers,i,p),E=w(t.headers,f);return c!==null&&E.headers.set(s.RANGE,c),await r.match(E)}async setCached(r,t,i){if(!B(t,i))return;let o=this.getCacheKey(t),a=i.clone(),c=P(a),p=await r.match(o);if(!p){if(c.length===0){await r.put(o,a);return}let E=T.new(c);E.expireAfter(a),await r.put(o,await E.response()),await r.put(N(t.headers,o,E.vary),a);return}if(T.isVariantResponse(p)){let E=T.restore(p);E.expireAfter(a),c.length>0&&(E.append(c),E.isModified&&await r.put(o,await E.response())),await r.put(N(t.headers,o,E.vary),a);return}if(c.length===0){await r.put(o,a);return}let f=T.new(c);f.expireAfter(p),f.expireAfter(a),await r.put(o,await f.response()),await r.put(N(t.headers,o,f.vary),a),await r.put(N(t.headers,o,[]),p);}getCacheKey(r){let t=this.init.getKey(r);return M(t),t.hash="",t}};function or(n={}){return v(n),new x(n)}
|
|
2
|
+
export{or as cache,Y as sortSearchParams,he as stripSearchParams};//# sourceMappingURL=cache.js.map
|
|
3
3
|
//# sourceMappingURL=cache.js.map
|