package com.terra.proxy.servlet;
|
|
import org.mitre.dsmiley.httpproxy.ProxyServlet;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
public class ArcinfoServlet extends ProxyServlet {
|
|
protected String rewriteUrlFromRequest(HttpServletRequest servletRequest) {
|
|
StringBuilder uri = new StringBuilder(500);
|
uri.append(getTargetUri(servletRequest));
|
if (servletRequest.getPathInfo() != null) {
|
uri.append(encodeUriQuery(servletRequest.getPathInfo()));
|
}
|
String queryString = servletRequest.getQueryString();
|
String fragment = null;
|
if (queryString != null) {
|
int fragIdx = queryString.indexOf('#');
|
if (fragIdx >= 0) {
|
fragment = queryString.substring(fragIdx + 1);
|
queryString = queryString.substring(0, fragIdx);
|
}
|
}
|
queryString = rewriteQueryStringFromRequest(servletRequest, queryString);
|
if ((queryString != null) && (queryString.length() > 0)) {
|
uri.append('?');
|
uri.append(encodeUriQuery(queryString));
|
}
|
if ((this.doSendUrlFragment) && (fragment != null)) {
|
uri.append('#');
|
uri.append(encodeUriQuery(fragment));
|
}
|
return uri.toString();
|
}
|
|
|
}
|