Warning: session_start(): open(/var/lib/php/sessions/sess_u073s6ij8eekn2m071sllit7vn, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass ServeHttp_CookieHandler {
int days = 365;
S cookieName = "cookie";
bool verbose;
S cookieValue;
S metaParams; // e.g. "SameSite=Strict"
bool shareCookiesBetweenApexDomains;
// returns cookie (may be empty if client doesn't accept cookies)
S handle() {
NanoHTTPD.IHTTPSession session = NanoHTTPD.currentSession!;
if (session == null) null;
NanoHTTPD.CookieHandler cookies = session.getCookies();
if (empty(cookieValue)) cookieValue = cookies.read("cookie");
SexistingValue = cookieValue;
if (empty(cookieValue) && empty((S) mapGet(getHttpdHeaders(), "x-no-cookies"))) {
cookieValue = createNewCookie();
if (verbose)
print("New cookie.");
}
if (verbose)
print("IP " + session.remoteIp() + ", cookie: " + cookieValue);
if (!eq_nullIfEmpty(existingValue, cookieValue)) {
var cookie = cookies.set("cookie", cookieValue + prependIfNempty("; ", metaParams), days);
S apexDomain = apexDomain(dropPortFromHost(session.getHeaders().get("host")));
if (shareCookiesBetweenApexDomains && nempty(apexDomain))
cookie.domain = apexDomain;
}
ret cookieValue;
}
swappable S createNewCookie() {
ret randomID(20);
}
}