Warning: session_start(): open(/var/lib/php/sessions/sess_5a17uhokbhfruhtl3puhp4eflv, 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
sS defaultJavaTarget = "1.8";
sS standardCredentials() { ret ""; } // public snippets only
// snippetID => jar file
static new SerializeComputations computations;
html {
// lock lock; // now using SerializeComputations
uri = dropPrefixSlash(uri);
S snippetID = fsI(uri);
if (!isSnippetPublic(snippetID)) fail("Snippet not public: " + snippetID);
S transpiledSrc = getServerTranspiled2(snippetID);
// md5 check (if parameter supplied)
S md5 = params.get('md5);
S srcMD5 = md5(transpiledSrc);
if (md5 != null && !eq(md5, srcMD5)) ret "md5 mismatch";
File jar = computations.get(pair(srcMD5, snippetID), -> {
remutable transpiledSrc;
int i = transpiledSrc.indexOf('\n');
S libs = transpiledSrc.substring(0, Math.max(0, i));
printVars(+snippetID, +libs);
transpiledSrc = transpiledSrc.substring(i+1);
S javaTarget = or(params.get('javaTarget), defaultJavaTarget);
CompilerBot.verbose = true;
ret CompilerBot.compile(transpiledSrc, libs, javaTarget, snippetID);
});
print("Serving jar for " + snippetID + ": " + jar);
ret subBot_serveFileWithName(jar, psI(snippetID) + ".jar", "application/java-archive");
}