nomask string authenticate(object request)
nomask string authenticate(Request request)
nomask string authenticate(object request){	string header, method;	if(previous_program() != HTTP_USER) {		error("illegal call");	}		header = request->get_header("Authorization");	method = explode(header, " ")[0];	if(!sizeof(methods & ({ method }))) {		SYSLOG("Unknown authentication method: " + method + "\n");		return nil;	}		switch(method) {#ifdef BASIC	case "Basic" :		return basic::authenticate(header);#endif#ifdef DIGEST	case "Digest" :		return digest::authenticate(request);#endif	default :		return nil;	}}