svn commit: r588641 - /lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Fri Oct 26 06:40:07 2007
New Revision: 588641

URL: http://svn.apache.org/viewvc?rev=588641&view=rev
Log:
Use request.isSecure() instead of protocol string comparison. Moved check out of try block for better performance. Tested with mod_proxy_ajp.

Modified:
    lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java

Modified: lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java?rev=588641&r1=588640&r2=588641&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java (original)
+++ lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java Fri Oct 26 06:40:07 2007
@@ -58,40 +58,41 @@
         AccessController accessController = null;
 
         Request request = ObjectModelHelper.getRequest(objectModel);
-
-        try {
-            selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
-                    + "Selector");
-
-            resolver = (AccessControllerResolver) selector
-                    .select(AccessControllerResolver.DEFAULT_RESOLVER);
-
-            String url = ServletHelper.getWebappURI(request);
-            accessController = resolver.resolveAccessController(url);
-
-            if (accessController != null) {
-
-                PolicyManager policyManager = accessController.getPolicyManager();
-                Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(),
-                        url);
-                if (policy.isSSLProtected() && !request.getScheme().equals("https")) {
-                    Session session = RepositoryUtil.getSession(this.manager, request);
-                    LinkRewriter rewriter = new OutgoingLinkRewriter(this.manager, session, url,
-                            false, true, false);
-                    String sslUri = rewriter.rewrite(url);
-                    return Collections.singletonMap(KEY_REDIRECT_URI, sslUri);
+        
+        if (!request.isSecure()) {
+            try {
+                selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
+                        + "Selector");
+    
+                resolver = (AccessControllerResolver) selector
+                        .select(AccessControllerResolver.DEFAULT_RESOLVER);
+    
+                String url = ServletHelper.getWebappURI(request);
+                accessController = resolver.resolveAccessController(url);
+    
+                if (accessController != null) {
+                    PolicyManager policyManager = accessController.getPolicyManager();
+                    Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(),
+                            url);
+                    if (policy.isSSLProtected()) {
+                        Session session = RepositoryUtil.getSession(this.manager, request);
+                        LinkRewriter rewriter = new OutgoingLinkRewriter(this.manager, session, url,
+                                false, true, false);
+                        String sslUri = rewriter.rewrite(url);
+                        return Collections.singletonMap(KEY_REDIRECT_URI, sslUri);
+                    }
                 }
-            }
-
-        } finally {
-            if (selector != null) {
-                if (resolver != null) {
-                    if (accessController != null) {
-                        resolver.release(accessController);
+    
+            } finally {
+                if (selector != null) {
+                    if (resolver != null) {
+                        if (accessController != null) {
+                            resolver.release(accessController);
+                        }
+                        selector.release(resolver);
                     }
-                    selector.release(resolver);
+                    this.manager.release(selector);
                 }
-                this.manager.release(selector);
             }
         }
         return null;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.