Merged 5.2.N (5.2.1) to HEAD (5.2)

125783 rmunteanu: Merged 5.1.N (5.1.2) to 5.2.N (5.2.1)
      125605 rmunteanu: Merged 5.1.1 (5.1.1) to 5.1.N (5.1.2)
         125498 slanglois: MNT-16155 Update source headers - remove svn:eol-style property on Java and JSP source files


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@127809 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-06-03 16:45:04 +00:00
parent da8101a5ba
commit 19fcf2c411
325 changed files with 59952 additions and 59952 deletions

View File

@@ -1,130 +1,130 @@
package org.alfresco.web.app.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
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
{
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
setRequestHeaders(connection);
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();
}
// TODO: required?
connection.disconnect();
}
catch(IOException e)
{
// TODO: log io exceptions?
}
}
}
/**
* 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);
}
}
/**
* Set request headers
*
* @param urlConnection url connection
*/
protected void setRequestHeaders(URLConnection urlConnection)
{
}
/**
* 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[4096];
int read = input.read(buffer);
while (read != -1)
{
output.write(buffer, 0, read);
read = input.read(buffer);
}
}
}
package org.alfresco.web.app.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
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
{
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
setRequestHeaders(connection);
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();
}
// TODO: required?
connection.disconnect();
}
catch(IOException e)
{
// TODO: log io exceptions?
}
}
}
/**
* 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);
}
}
/**
* Set request headers
*
* @param urlConnection url connection
*/
protected void setRequestHeaders(URLConnection urlConnection)
{
}
/**
* 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[4096];
int read = input.read(buffer);
while (read != -1)
{
output.write(buffer, 0, read);
read = input.read(buffer);
}
}
}

View File

@@ -1,110 +1,110 @@
package org.alfresco.web.app.servlet;
import java.io.IOException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.extensions.surf.util.URLEncoder;
/**
* 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=<endpointUrl>[&<argName>=<argValue>]*
*
* 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 HttpServlet
{
private static final long serialVersionUID = -576405943603122206L;
private static final String PARAM_ENDPOINT = "endpoint";
/**
* @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;
StringBuilder args = new StringBuilder(32);
Map<String, String[]> parameters = req.getParameterMap();
for (Map.Entry<String, String[]> parameter : parameters.entrySet())
{
String[] values = parameter.getValue();
int startIdx = 0;
if (parameter.getKey().equals(PARAM_ENDPOINT) && values.length != 0)
{
endpoint = values[0];
startIdx++;
}
for (int i = startIdx; i < values.length; i++)
{
if (args.length() != 0)
{
args.append("&");
}
args.append(parameter.getKey()).append('=').append(URLEncoder.encode(values[i]));
}
}
if (endpoint == null || endpoint.length() == 0)
{
throw new IllegalArgumentException("endpoint argument not specified");
}
String url = endpoint + ((args.length() == 0) ? "" : "?" + args.toString());
HTTPProxy proxy = new HTTPProxy(url, res);
proxy.service();
}
/**
* Construct a "proxied" URL
*
* Note: the "proxied" URL is a relative url - it is assumed that the servlet path is /proxy
*
* @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;
}
}
package org.alfresco.web.app.servlet;
import java.io.IOException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.extensions.surf.util.URLEncoder;
/**
* 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=<endpointUrl>[&<argName>=<argValue>]*
*
* 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 HttpServlet
{
private static final long serialVersionUID = -576405943603122206L;
private static final String PARAM_ENDPOINT = "endpoint";
/**
* @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;
StringBuilder args = new StringBuilder(32);
Map<String, String[]> parameters = req.getParameterMap();
for (Map.Entry<String, String[]> parameter : parameters.entrySet())
{
String[] values = parameter.getValue();
int startIdx = 0;
if (parameter.getKey().equals(PARAM_ENDPOINT) && values.length != 0)
{
endpoint = values[0];
startIdx++;
}
for (int i = startIdx; i < values.length; i++)
{
if (args.length() != 0)
{
args.append("&");
}
args.append(parameter.getKey()).append('=').append(URLEncoder.encode(values[i]));
}
}
if (endpoint == null || endpoint.length() == 0)
{
throw new IllegalArgumentException("endpoint argument not specified");
}
String url = endpoint + ((args.length() == 0) ? "" : "?" + args.toString());
HTTPProxy proxy = new HTTPProxy(url, res);
proxy.service();
}
/**
* Construct a "proxied" URL
*
* Note: the "proxied" URL is a relative url - it is assumed that the servlet path is /proxy
*
* @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;
}
}