diff --git a/source/java/org/alfresco/repo/web/scripts/bean/SearchProxy.java b/source/java/org/alfresco/repo/web/scripts/bean/SearchProxy.java index ba1e3decb0..17f2b8cb54 100644 --- a/source/java/org/alfresco/repo/web/scripts/bean/SearchProxy.java +++ b/source/java/org/alfresco/repo/web/scripts/bean/SearchProxy.java @@ -38,7 +38,6 @@ import javax.servlet.http.HttpServletResponse; import org.alfresco.config.Config; import org.alfresco.config.ConfigService; import org.alfresco.repo.content.MimetypeMap; -import org.alfresco.web.app.servlet.HTTPProxy; import org.alfresco.web.config.OpenSearchConfigElement; import org.alfresco.web.config.OpenSearchConfigElement.EngineConfig; import org.alfresco.web.config.OpenSearchConfigElement.ProxyConfig; @@ -47,6 +46,7 @@ import org.alfresco.web.scripts.FormatRegistry; import org.alfresco.web.scripts.WebScriptException; import org.alfresco.web.scripts.WebScriptRequest; import org.alfresco.web.scripts.WebScriptResponse; +import org.alfresco.web.scripts.servlet.HTTPProxy; import org.alfresco.web.scripts.servlet.WebScriptServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -314,5 +314,4 @@ public class SearchProxy extends AbstractWebScript implements InitializingBean } return proxyUrl; } - } \ No newline at end of file diff --git a/source/java/org/alfresco/web/app/servlet/HTTPProxy.java b/source/java/org/alfresco/web/app/servlet/HTTPProxy.java deleted file mode 100644 index 0c03bf7c61..0000000000 --- a/source/java/org/alfresco/web/app/servlet/HTTPProxy.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2005-2007 Alfresco Software Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - * As a special exception to the terms and conditions of version 2.0 of - * the GPL, you may redistribute this Program in connection with Free/Libre - * and Open Source Software ("FLOSS") applications as described in Alfresco's - * FLOSS exception. You should have recieved a copy of the text describing - * the FLOSS exception, and it is also available here: - * http://www.alfresco.com/legal/licensing" - */ -package org.alfresco.web.app.servlet; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; - -import javax.servlet.http.HttpServletResponse; - - -/** - * Simple server-side HTTP Request / Response - * - * @author davidc - */ -public class HTTPProxy -{ - protected URL url; - protected HttpServletResponse response; - - - /** - * Construct - * - * @param requestUrl url to request - * @param response response to write request back to - * @throws MalformedURLException - */ - public HTTPProxy(String requestUrl, HttpServletResponse response) - throws MalformedURLException - { - this.url = new URL(requestUrl); - this.response = response; - } - - /** - * Perform request - * - * @throws IOException - */ - public void service() - throws IOException - { - URLConnection connection = url.openConnection(); - initialiseResponse(connection); - InputStream input = connection.getInputStream(); - OutputStream output = response.getOutputStream(); - try - { - writeResponse(input, output); - } - finally - { - try - { - if (input != null) - { - input.close(); - } - if (output != null) - { - output.flush(); - output.close(); - } - } - catch(IOException e) - { - } - } - } - - /** - * Initialise response - * - * @param urlConnection url connection - */ - protected void initialiseResponse(URLConnection urlConnection) - { - String type = urlConnection.getContentType(); - if (type != null) - { - int encodingIdx = type.lastIndexOf("charset="); - if (encodingIdx == -1) - { - String encoding = urlConnection.getContentEncoding(); - if (encoding != null && encoding.length() > 0) - { - type += ";charset=" + encoding; - } - } - - response.setContentType(type); - } - } - - /** - * Write response - * - * @param input input stream of request - * @param output output stream of response - * @throws IOException - */ - protected void writeResponse(InputStream input, OutputStream output) - throws IOException - { - byte[] buffer = new byte[1024]; - int read = input.read(buffer); - while (read != -1) - { - output.write(buffer, 0, read); - read = input.read(buffer); - } - } - -} diff --git a/source/java/org/alfresco/web/app/servlet/HTTPProxyServlet.java b/source/java/org/alfresco/web/app/servlet/HTTPProxyServlet.java deleted file mode 100644 index c6383b24f9..0000000000 --- a/source/java/org/alfresco/web/app/servlet/HTTPProxyServlet.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2005-2007 Alfresco Software Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - * As a special exception to the terms and conditions of version 2.0 of - * the GPL, you may redistribute this Program in connection with Free/Libre - * and Open Source Software ("FLOSS") applications as described in Alfresco's - * FLOSS exception. You should have recieved a copy of the text describing - * the FLOSS exception, and it is also available here: - * http://www.alfresco.com/legal/licensing" - */ -package org.alfresco.web.app.servlet; - -import java.io.IOException; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - - -/** - * HTTP Proxy Servlet - * - * Provides the ability to submit a URL request via the Alfresco Server i.e. - * the Alfresco server acts as a proxy. - * - * This servlet accepts: - * - * /proxy?endpoint=[&=]* - * - * Where: - * - * - endpointUrl is the URL to make a request against - * - argName is the name of a URL argument to append to the request - * - argValue is the value of URL argument - * - * E.g.: - * - * /proxy?endpoint=http://www.alfresco.com&arg1=value1&arg2=value2 - * - * @author davidc - */ -public class HTTPProxyServlet extends BaseServlet -{ - private static final long serialVersionUID = -576405943603122206L; - - /** - * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) - */ - protected void doGet(HttpServletRequest req, HttpServletResponse res) - throws ServletException, IOException - { - String endpoint = null; - String args = null; - - Map parameters = req.getParameterMap(); - for (Map.Entry parameter : parameters.entrySet()) - { - String[] values = parameter.getValue(); - int startIdx = 0; - - if (parameter.getKey().equals("endpoint") && values.length > 0) - { - endpoint = values[0]; - startIdx++; - } - - for (int i = startIdx; i < values.length; i++) - { - String arg = parameter.getKey() + "=" + values[i]; - args = (args == null) ? arg : args + "&" + arg; - } - } - - if (endpoint == null || endpoint.length() == 0) - { - throw new IllegalArgumentException("endpoint argument not specified"); - } - - String url = endpoint + ((args == null) ? "" : "?" + args); - HTTPProxy proxy = new HTTPProxy(url, res); - proxy.service(); - } - - /** - * Construct a "proxied" URL - * - * Note: the "proxied" URL is a relative url - * - * @param url the URL to proxy - * @return the "proxied" url - */ - public static String createProxyUrl(String url) - { - String proxy = "/proxy"; - if (url != null && url.length() > 0) - { - int argIndex = url.lastIndexOf("?"); - if (argIndex == -1) - { - proxy += "?endpoint=" + url; - } - else - { - proxy += "?endpoint=" + url.substring(0, argIndex) + "&" + url.substring(argIndex + 1); - } - } - - return proxy; - } - -}