]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java
Make SSL client auth safer
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / NodeHttp.java
index f17c982417542c33d16764fee9dd1b9de2051585..92f804d252d1ae970f2d8f35a9b4fbf7ceffcc72 100644 (file)
@@ -45,8 +45,10 @@ public class NodeHttp implements KernelConstants {
        private final ServiceTracker<HttpService, HttpService> httpServiceTracker;
 
        private static String httpRealm = "Argeo";
+       private final boolean cleanState;
 
-       public NodeHttp() {
+       public NodeHttp(boolean cleanState) {
+               this.cleanState = cleanState;
                httpServiceTracker = new PrepareHttpStc();
                // httpServiceTracker.open();
                KernelUtils.asyncOpen(httpServiceTracker);
@@ -206,9 +208,11 @@ public class NodeHttp implements KernelConstants {
                @Override
                public HttpService addingService(ServiceReference<HttpService> reference) {
                        long begin = System.currentTimeMillis();
-                       log.debug("HTTP prepare starts...");
+                       if (log.isTraceEnabled())
+                               log.trace("HTTP prepare starts...");
                        HttpService httpService = addHttpService(reference);
-                       log.debug("HTTP prepare duration: " + (System.currentTimeMillis() - begin) + "ms");
+                       if (log.isTraceEnabled())
+                               log.trace("HTTP prepare duration: " + (System.currentTimeMillis() - begin) + "ms");
                        return httpService;
                }
 
@@ -242,7 +246,8 @@ public class NodeHttp implements KernelConstants {
                                throw new CmsException("An http service is already configured");
                        repositories = new RepositoriesStc(bc, httpService);
                        // repositories.open();
-                       KernelUtils.asyncOpen(repositories);
+                       if (cleanState)
+                               KernelUtils.asyncOpen(repositories);
                        log.info(httpPortsMsg(httpPort, httpsPort));
                        // httpAvailable = true;
                        // checkReadiness();
@@ -321,21 +326,9 @@ public class NodeHttp implements KernelConstants {
                @Override
                protected void service(final HttpServletRequest request, final HttpServletResponse response)
                                throws ServletException, IOException {
-                       // try {
-                       // Subject subject = subjectFromRequest(request, response);
-                       // Subject.doAs(subject, new PrivilegedExceptionAction<Void>() {
-                       // @Override
-                       // public Void run() throws Exception {
                        if (log.isTraceEnabled())
                                HttpUtils.logRequest(log, request);
                        RemotingServlet.super.service(request, response);
-                       // return null;
-                       // }
-                       // });
-                       // } catch (PrivilegedActionException e) {
-                       // throw new CmsException("Cannot process JCR remoting request",
-                       // e.getException());
-                       // }
                }
        }