int handle(object request, object response)
int handle(Request request, Response response)
int handle(object request, object response){	int i;	string *arr, content;	mapping interfaces;	object page, tmp;	if(!get_supports(request->get_uri()->get_filesuffix())) {		return FALSE;	}	::handle(request, response);	interfaces = ([ ]);	interfaces["request"]     = new_wrapper(LSP_REQUEST_WRAP);	interfaces["response"]    = new_wrapper(LSP_RESPONSE_WRAP);	interfaces["application"] = new_wrapper(LSP_APPLICATION_WRAP);	interfaces["server"]      = new_wrapper(LSP_SERVER_WRAP);	interfaces["session"]     = new_wrapper(LSP_SESSION_WRAP);	tmp = previous_object()->get_session_object(response->get_session_id());	if(tmp == nil) {		error("Could not obtain a session object!\n");	}#if 0	interfaces["session"]     = tmp;#endif    arr = map_indices(interfaces);    for(i = 0; i < sizeof(arr); i++) {        call_other(interfaces[arr[i]], "set_related",			request, response, previous_object(),			previous_object()->get_server(), tmp		);    }	if(compiler->get_compile(request, response) == TRUE) {		/* This seems to be a modified source, re-parse */		content = response->content_tostring();		if((content = compiler->parse(content)) == nil) {			return FALSE;		}		response->clear_content();	} else {		content = nil;		response->clear_content();	}	page = compiler->compile( request, response, content );	if(page) {		compiler->run(page, interfaces);	}	response->set_header("Content-Length", response->get_content_length());	response->set_header("Content-Type", "text/html");	return TRUE;}