object compile(object request, object response, string source)
object compile(Request request, Response response, string source)
object compile(object request, object response, string source){	string err, name, hash;	name = request->get_uri()->get_absolute_filename();	if(source != nil) {		string time, size;		/* TODO: remove this line when stable -- memory consumption */		debug_parsed_src[name] = source;		time = response->get_header("Last-Modified");		size = response->get_header("Content-Length");		hash = hash_md5(time, size, name);        compiled[name] = hash;		hash = hex_encode(hash);		SYSLOG("(Re)compiling "+name+" as "+lsp_home+"data/" + hash + "\n");#ifdef __CATCH__		err = catch(			wwwaccess->_HTTPD_compile_object(lsp_home + "data/" + hash, source)		);#else		wwwaccess->_HTTPD_compile_object(lsp_home + "data/" + hash, source);#endif		if(err) {			SYSLOG("LSP-compiler: failed to compile.\n");			compiled[name] = "not compiled";			return nil;		}	} else {		hash = hex_encode(compiled[name]);	}	if(find_object(lsp_home + "data/" + hash)) {		return new_object( lsp_home + "data/" + hash );	} else {		SYSLOG("object not found: " + lsp_home + "data/" + hash + "\n");	}	return nil;}