@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
66 lines (65 loc) • 2.54 kB
JavaScript
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