.. java:import:: java.io BufferedReader .. java:import:: java.io FileNotFoundException .. java:import:: java.io IOException .. java:import:: java.io InputStreamReader .. java:import:: java.io Reader .. java:import:: java.time ZoneId .. java:import:: java.util ArrayList .. java:import:: java.util Arrays .. java:import:: java.util Properties .. java:import:: java.util TimeZone .. java:import:: java.util UUID .. java:import:: java.util.logging Handler .. java:import:: java.util.logging Level .. java:import:: java.util.logging LogRecord .. java:import:: org.apache.shiro SecurityUtils .. java:import:: org.apache.shiro.config Ini .. java:import:: org.apache.shiro.config Ini.Section .. java:import:: org.apache.shiro.env BasicIniEnvironment .. java:import:: org.apache.shiro.mgt SecurityManager .. java:import:: org.apache.shiro.subject Subject .. java:import:: org.apache.shiro.util ThreadContext .. java:import:: org.caosdb.server.accessControl AnonymousAuthenticationToken .. java:import:: org.caosdb.server.accessControl AnonymousRealm .. java:import:: org.caosdb.server.accessControl AuthenticationUtils .. java:import:: org.caosdb.server.accessControl CaosDBAuthorizingRealm .. java:import:: org.caosdb.server.accessControl CaosDBDefaultRealm .. java:import:: org.caosdb.server.accessControl ConsumedInfoCleanupJob .. java:import:: org.caosdb.server.accessControl OneTimeAuthenticationToken .. java:import:: org.caosdb.server.accessControl SessionToken .. java:import:: org.caosdb.server.accessControl SessionTokenRealm .. java:import:: org.caosdb.server.database BackendTransaction .. java:import:: org.caosdb.server.database.access Access .. java:import:: org.caosdb.server.database.backend.transaction RetrieveDatatypes .. java:import:: org.caosdb.server.database.misc TransactionBenchmark .. java:import:: org.caosdb.server.datatype AbstractDatatype .. java:import:: org.caosdb.server.entity EntityInterface .. java:import:: org.caosdb.server.entity Role .. java:import:: org.caosdb.server.entity.container Container .. java:import:: org.caosdb.server.grpc GRPCServer .. java:import:: org.caosdb.server.jobs.core AccessControl .. java:import:: org.caosdb.server.jobs.core CheckStateTransition .. java:import:: org.caosdb.server.logging RequestErrorLogMessage .. java:import:: org.caosdb.server.resource AuthenticationResource .. java:import:: org.caosdb.server.resource DefaultResource .. java:import:: org.caosdb.server.resource EntityOwnerResource .. java:import:: org.caosdb.server.resource EntityPermissionsResource .. java:import:: org.caosdb.server.resource FileSystemResource .. java:import:: org.caosdb.server.resource InfoResource .. java:import:: org.caosdb.server.resource LogoutResource .. java:import:: org.caosdb.server.resource PermissionRulesResource .. java:import:: org.caosdb.server.resource RolesResource .. java:import:: org.caosdb.server.resource ScriptingResource .. java:import:: org.caosdb.server.resource ServerPropertiesResource .. java:import:: org.caosdb.server.resource SharedFileResource .. java:import:: org.caosdb.server.resource ThumbnailsResource .. java:import:: org.caosdb.server.resource UserResource .. java:import:: org.caosdb.server.resource UserRolesResource .. java:import:: org.caosdb.server.resource Webinterface .. java:import:: org.caosdb.server.resource WebinterfaceBuildNumber .. java:import:: org.caosdb.server.resource.transaction EntityNamesResource .. java:import:: org.caosdb.server.resource.transaction EntityResource .. java:import:: org.caosdb.server.scripting ScriptingPermissions .. java:import:: org.caosdb.server.transaction ChecksumUpdater .. java:import:: org.caosdb.server.utils FileUtils .. java:import:: org.caosdb.server.utils Initialization .. java:import:: org.caosdb.server.utils Observable .. java:import:: org.caosdb.server.utils Observer .. java:import:: org.quartz JobDetail .. java:import:: org.quartz Scheduler .. java:import:: org.quartz SchedulerException .. java:import:: org.quartz Trigger .. java:import:: org.quartz.impl StdSchedulerFactory .. java:import:: org.restlet Application .. java:import:: org.restlet Component .. java:import:: org.restlet Context .. java:import:: org.restlet Request .. java:import:: org.restlet Response .. java:import:: org.restlet Restlet .. java:import:: org.restlet Server .. java:import:: org.restlet.data CookieSetting .. java:import:: org.restlet.data Parameter .. java:import:: org.restlet.data Protocol .. java:import:: org.restlet.data Reference .. java:import:: org.restlet.data ServerInfo .. java:import:: org.restlet.data Status .. java:import:: org.restlet.engine Engine .. java:import:: org.restlet.routing Redirector .. java:import:: org.restlet.routing Route .. java:import:: org.restlet.routing Router .. java:import:: org.restlet.routing Template .. java:import:: org.restlet.routing TemplateRoute .. java:import:: org.restlet.routing Variable .. java:import:: org.restlet.util Series .. java:import:: org.slf4j Logger .. java:import:: org.slf4j LoggerFactory CaosDBComponent =============== .. java:package:: org.caosdb.server :noindex: .. java:type:: class CaosDBComponent extends Component Constructors ------------ CaosDBComponent ^^^^^^^^^^^^^^^ .. java:constructor:: public CaosDBComponent() :outertype: CaosDBComponent Methods ------- handle ^^^^^^ .. java:method:: @Override public void handle(Request request, Response response) :outertype: CaosDBComponent This function is doing the actual work as soon as a request arrives. In this case this consists in: - Logging the request, the response and the current time - The response gets updated with server info - The request gets updated with an SRID (server request ID) Apart from that super.handle will be called. The main purpose of the SRID is to allow efficient debugging by checking the error log for the request causing the error.