Warning: session_start(): open(/var/lib/php/sessions/sess_d0trfsotj78q3t9u4cjpl33h58, 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
static new ThreadLocal MyHTTPD_headers;
static class MyHTTPD extends NanoHTTPD {
*(int port) { super(port); }
O onServe, onEndServe;
volatile long requests;
sclass Serving {
S uri;
SS header, parms, files;
}
L currentlyServing = synchroList();
public Response serve(S uri, Method method,
SS header, SS parms, SS files) {
++requests;
Serving serving = nu(Serving.class, +uri, +header, +parms, +files);
currentlyServing.add(serving);
pcallF(onServe, serving);
try {
S remoteAddr = getClientIPFromHeaders(header);
print(formatDateAndTime() + " Serving URI: " + quote(uri) + " to: " + remoteAddr);
/*if (nempty(remoteAddr) &&
isTrue(callOpt(mc(), "isBlockedIP", remoteAddr))) {
print("BLOCKED IP.");
ret serve404();
}*/
try {
Response response = cast callOpt(getMainClass(), "serve", uri, method, header, parms, files);
if (response != null) ret response;
O html;
MyHTTPD_headers.set(header);
try {
html = callHtmlMethod2(getMainClass(), uri, parms);
} finally {
MyHTTPD_headers.set(null);
}
if (html != null)
ret html instanceof S ? serveHTML((S) html) : (NanoHTTPD.Response) html;
ret serve404();
} catch (Throwable e) {
printStackTrace(e);
ret serveHTML("ERROR.");
}
} finally {
pcallF(onEndServe, serving);
currentlyServing.remove(serving);
}
}
}