Warning: session_start(): open(/var/lib/php/sessions/sess_0ge3t124foh5257o4peabpbbc6, 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
!7
static int refreshDelay = 1; // seconds
// TODO: share transpiler
p {
set transpileRaw_dontCopyFromCreator;
set transpileForServer_forceJavacWhenLibs;
transpileRaw_silent = false;
}
html {
if (!webAuthed(params)) ret "not authed";
lock programLock();
if (eqOneOf("1", params.get('medium), params.get('fresh))) {
refreshTranspiler();
print("Refreshed transpiler.");
}
uri = dropPrefixSlash(uri);
if (isSnippetID(uri)) params.put(snippetID := uri);
if (empty(params.get('snippetID))) ret "OK";
sendToSnippetUpdatesBot("/transpiling/" + params.get('snippetID));
final bool compile = eq("1", params.get('compile));
final new Flag ok;
print_byThread = new InheritableThreadLocal;
S text = hijackPrint_tee(r {
S snippetID = fsI(params.get('snippetID));
pcall {
bool isInclude = getSnippetType(snippetID) == snippetType_JavaXInclude();
transpileRaw_translator();
set(transpileRaw_trans, +print_byThread);
print("Set print_byThread (" + print_byThread! + ") in " + systemHashCode(transpileRaw_trans));
temp tempSetTL(transpileForServer_compile, compile);
temp tempSetTL(transpileRaw_asInclude, isInclude);
transpileForServer(snippetID);
ok.raise();
}
});
S redirect = params.get('redirect);
sendToSnippetUpdatesBot("/transpile" + (ok.isUp() ? "OK" : "Fail")
+ "/" + psI(params.get('snippetID)));
ret hhtml(hhead(htitle((ok.isUp() ? "OK" : "Failed") + " Transpilation")
+ (ok.isUp() && nempty(redirect) ? hrefresh(refreshDelay, redirect) : ""))
+ hbody(hsourcecode(text)));
}