package org.verisign.joid.util; import javax.servlet.http.HttpServletRequest; /** * User: treeder * Date: Jul 19, 2007 * Time: 4:05:35 PM */ public class UrlUtils { public static String getFullUrl(HttpServletRequest request){ StringBuffer b = getServletUrl(request); String queryString = request.getQueryString(); if(queryString != null) { b.append("?").append(queryString); } return b.toString(); } public static StringBuffer getServletUrl(HttpServletRequest request) { StringBuffer b = new StringBuffer(getBaseUrl(request)); String servletPath = request.getServletPath(); if(servletPath != null){ b.append(servletPath); } return b; } /** * * @param request * @return the url of the local host including the context, not including a trailing "/" * // todo: make these return StringBuffer instead */ public static String getBaseUrl(HttpServletRequest request) { StringBuffer b = new StringBuffer(); b.append(getHostUrl(request)); String context = request.getContextPath(); if(context != null) { b.append(context); } return b.toString(); } /** * * @param request * @return the host url without the context * // todo: make these return StringBuffer instead */ public static String getHostUrl(HttpServletRequest request) { String scheme = request.getScheme(); String serverName = request.getServerName(); String port = request.getServerPort() == 80 || request.getServerPort() == 443 ? "" : ":" + request.getServerPort(); String start = scheme + "://" + serverName + port; return start; } }