util.java

来自「cas 客户端文件」· Java 代码 · 共 88 行

JAVA
88
字号
/* *  Copyright (c) 2000-2003 Yale University. All rights reserved. * *  THIS SOFTWARE IS PROVIDED "AS IS," AND ANY EXPRESS OR IMPLIED *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE EXPRESSLY *  DISCLAIMED. IN NO EVENT SHALL YALE UNIVERSITY OR ITS EMPLOYEES BE *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED, THE COSTS OF *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *  SOFTWARE, EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH *  DAMAGE. * *  Redistribution and use of this software in source or binary forms, *  with or without modification, are permitted, provided that the *  following conditions are met: * *  1. Any redistribution must include the above copyright notice and *  disclaimer and this list of conditions in any related documentation *  and, if feasible, in the redistributed software. * *  2. Any redistribution must include the acknowledgment, "This product *  includes software developed by Yale University," in any related *  documentation and, if feasible, in the redistributed software. * *  3. The names "Yale" and "Yale University" must not be used to endorse *  or promote products derived from this software. */package edu.yale.its.tp.cas.client;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;/** * Provides utility functions in support of CAS clients. */public class Util {  /**   * Returns a service ID (URL) as a composite of the preconfigured server   * name and the runtime request.   */  public static String getService(HttpServletRequest request, String server)      throws ServletException {    // ensure we have a server name    if (server == null)      throw new IllegalArgumentException("name of server is required");    // now, construct our best guess at the string    StringBuffer sb = new StringBuffer();    if (request.isSecure())      sb.append("https://");    else      sb.append("http://");    sb.append(server);    sb.append(request.getRequestURI());    if (request.getQueryString() != null) {      // first, see whether we've got a 'ticket' at all      int ticketLoc = request.getQueryString().indexOf("ticket=");      // if ticketLoc == 0, then it's the only parameter and we ignore      // the whole query string      // if no ticket is present, we use the query string wholesale      if (ticketLoc == -1)        sb.append("?" + request.getQueryString());      else if (ticketLoc > 0) {	ticketLoc = request.getQueryString().indexOf("&ticket=");	if (ticketLoc == -1) {	  // there was a 'ticket=' unrelated to a parameter named 'ticket'	  sb.append("?" + request.getQueryString());	} else if (ticketLoc > 0) {	  // otherwise, we use the query string up to "&ticket="          sb.append("?" + request.getQueryString().substring(0, ticketLoc));	}      }    }    return URLEncoder.encode(sb.toString());  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?