From: <jbo...@li...> - 2005-09-13 20:43:28
|
Author: soh...@jb... Date: 2005-09-13 16:43:18 -0400 (Tue, 13 Sep 2005) New Revision: 1103 Modified: trunk/forge/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/SSLProcessor.java Log: fixed the nullpointer exception when session is started with https request Modified: trunk/forge/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/SSLProcessor.java =================================================================== --- trunk/forge/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/SSLProcessor.java 2005-09-13 20:08:39 UTC (rev 1102) +++ trunk/forge/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/SSLProcessor.java 2005-09-13 20:43:18 UTC (rev 1103) @@ -43,15 +43,18 @@ if(this.isSwitchFromSSLNeeded(requestURL)) { Integer plainPort = (Integer)httpRequest.getSession().getAttribute("http"); - String relativeURL = HttpUtils.getRelativeURL(requestURL); - String plainURL = HttpUtils. - getPlainURL(httpRequest,plainPort.intValue()); - - //perform the switch from ssl to regular mode - String url = plainURL + "/" + relativeURL; - httpResponse.setContentType("text/html"); - httpResponse.sendRedirect(url); - return; + if(plainPort!=null) + { + String relativeURL = HttpUtils.getRelativeURL(requestURL); + String plainURL = HttpUtils. + getPlainURL(httpRequest,plainPort.intValue()); + + //perform the switch from ssl to regular mode + String url = plainURL + "/" + relativeURL; + httpResponse.setContentType("text/html"); + httpResponse.sendRedirect(url); + return; + } } } else @@ -60,15 +63,18 @@ if(this.isSwitchToSSLNeeded(requestURL)) { Integer sslPort = (Integer)httpRequest.getSession().getAttribute("https"); - String relativeURL = HttpUtils.getRelativeURL(requestURL); - String sslURL = HttpUtils. - getSecureURL(httpRequest,sslPort.intValue()); - - //perform the switch from regular to ssl-mode - String url = sslURL + "/" + relativeURL; - httpResponse.setContentType("text/html"); - httpResponse.sendRedirect(url); - return; + if(sslPort!=null) + { + String relativeURL = HttpUtils.getRelativeURL(requestURL); + String sslURL = HttpUtils. + getSecureURL(httpRequest,sslPort.intValue()); + + //perform the switch from regular to ssl-mode + String url = sslURL + "/" + relativeURL; + httpResponse.setContentType("text/html"); + httpResponse.sendRedirect(url); + return; + } } } } @@ -114,15 +120,22 @@ Integer sslPort = (Integer)request.getSession().getAttribute("https"); Integer plainPort = (Integer)request.getSession().getAttribute("http"); if(sslPort==null || plainPort==null) - { - Integer port = new Integer(request.getServerPort()); + { if(request.isSecure()) { - request.getSession().setAttribute("https",port); + if(sslPort==null) + { + Integer port = new Integer(request.getServerPort()); + request.getSession().setAttribute("https",port); + } } else { - request.getSession().setAttribute("http",port); + if(plainPort==null) + { + Integer port = new Integer(request.getServerPort()); + request.getSession().setAttribute("http",port); + } } } } |