UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

66 lines (65 loc) 2.54 kB
import { cacheAge, isCacheAge } from "../chunk-XQY3WWRY.mjs"; import "../chunk-3FE4R6I2.mjs"; import "../chunk-XAIHCZT4.mjs"; import "../chunk-OFGI5FLG.mjs"; import "../chunk-NCEWAKOZ.mjs"; import "../chunk-Q3WMGUO2.mjs"; import "../chunk-5HENJTR6.mjs"; import "../chunk-FKZ4MOTX.mjs"; import "../chunk-WSBULPUZ.mjs"; import "../chunk-JVDKV5HE.mjs"; import "../chunk-WTFW6DLP.mjs"; import "../chunk-NDCIZJXB.mjs"; import "../chunk-MCCIBDEH.mjs"; import { entries } from "../chunk-H2762RTS.mjs"; import "../chunk-A7C3XND3.mjs"; import { ifDefined } from "../chunk-JSON7A4X.mjs"; import "../chunk-CO2AFYVD.mjs"; import "../chunk-BDA5LB4S.mjs"; import "../chunk-SJGQU3OG.mjs"; import "../chunk-ZHXKBOK2.mjs"; import { on } from "../chunk-ZPNFXK7Y.mjs"; import "../chunk-DXQSIBC7.mjs"; import "../chunk-PIRWVOO2.mjs"; import "../chunk-DEJ7A5PY.mjs"; import "../chunk-4N72FQFX.mjs"; // src/http/CacheControl.ts var CacheControl = class _CacheControl { constructor(enabled = true, directives = {}) { this.enabled = enabled; this.directives = directives; } name = "Cache-Control"; static disabled = () => new _CacheControl(false); static OneSecond = () => new _CacheControl().maxAge(1).staleWhileRevalidate(1); static fiveSeconds = () => new _CacheControl().maxAge(5).staleWhileRevalidate(5); static tenSeconds = () => new _CacheControl().maxAge(10).staleWhileRevalidate(10); static thirtySeconds = () => new _CacheControl().maxAge(30).staleWhileRevalidate(30); static sixtySeconds = () => new _CacheControl().maxAge(60).staleWhileRevalidate(60); static custom = (maxAge, staleWhileRevalidate) => new _CacheControl().maxAge(maxAge).staleWhileRevalidate(staleWhileRevalidate); maxAge = (ca) => on(this, (t) => t.directives["max-age"] = ca); sharedMaxAge = (ca) => on(this, (t) => t.directives["s-maxage"] = ca); noCache = (a) => on(this, (t) => t.directives["no-cache"] = a); mustRevalidate = (a) => on(this, (t) => t.directives["must-revalidate"] = a); private = (a) => on(this, (t) => t.directives["private"] = a); public = (a) => on(this, (t) => t.directives["public"] = a); immutable = (a) => on(this, (t) => t.directives["immutable"] = a); staleWhileRevalidate = (ca) => on(this, (t) => t.directives["stale-while-revalidate"] = ca); value = () => this.toString(); toString() { return entries(this.directives).mapDefined(([k, v]) => ifDefined(v, isCacheAge(v) ? `${k}=${cacheAge.toSeconds(v)}` : k)).join(","); } }; export { CacheControl }; //# sourceMappingURL=CacheControl.mjs.map