Class DefaultSimpleProxyEngine
java.lang.Object
de.hybris.platform.xyformsservices.proxy.orbeonservices.impl.DefaultSimpleProxyEngine
- All Implemented Interfaces:
ProxyEngine
ProxyEngine implementation for Orbeon.
It uses a CookieManager to mantain orbeon's session.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Integerprotected CookieManagerprotected static final Stringprotected static final Integerprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Integerprotected UrlRewriter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected HttpURLConnectionconnect(javax.servlet.http.HttpServletRequest request, String url, String method, Map<String, String> headers) Stablishes an HTTP connection with the given URL.extractNamespace(javax.servlet.http.HttpServletRequest request) Extracts the namespace coming from client.protected ConfigurationServiceprotected StringgetHostPart(String url) Gets the host part of an URL, including protocol, host, port with no trailing slash.protected StringgetPrefixFromRequest(javax.servlet.http.HttpServletRequest request) Gets the prefix from the request URI address.protected booleanisServerError(int sc) True if the status code represents an error on the server sideprotected booleanisTextFile(String contentType) Returns true if the given contentType refers to a text file.voidproxy(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String namespace, String url, boolean forceGetMethod, Map<String, String> headers) Proxies contentprotected voidrewriteLocation(HttpURLConnection conn, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String namespace, String url) protected voidsendRequestHeaders(Set<String> headers, javax.servlet.http.HttpServletRequest request, HttpURLConnection conn) Sends headers from the request to the remote server.protected voidsendResponseHeaders(Set<String> headers, HttpURLConnection conn, javax.servlet.http.HttpServletResponse response) Get headers from remote connection and copies them back to the current response.voidsetConfigurationService(ConfigurationService configurationService) voidsetCookieManager(CookieManager cookieManager) voidsetHeadersFrom(List<String> headersFrom) voidsetHeadersTo(List<String> headersTo) voidsetUrlRewriter(UrlRewriter urlRewriter)
-
Field Details
-
DEFAULT_CHARSET
-
ORBEON_PREFIX
- See Also:
-
ORBEON_PREFIX_PLUS_SLASH
- See Also:
-
HOST_PART_INDEX
-
CLIENT_ERROR_MINIMUM
-
SERVER_ERROR_MAXIMUM
-
POST_METHOD
- See Also:
-
PUT_METHOD
- See Also:
-
LOCATION_HEADER
- See Also:
-
cookieManager
-
urlRewriter
-
headersTo
-
headersFrom
-
-
Constructor Details
-
DefaultSimpleProxyEngine
public DefaultSimpleProxyEngine()
-
-
Method Details
-
extractNamespace
Extracts the namespace coming from client.- Specified by:
extractNamespacein interfaceProxyEngine- Parameters:
request-
-
proxy
public void proxy(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String namespace, String url, boolean forceGetMethod, Map<String, String> headers) throws ProxyExceptionDescription copied from interface:ProxyEngineProxies content- Specified by:
proxyin interfaceProxyEngine- Parameters:
request- TheHttpServletRequestassociated to the callresponse- TheHttpServletResponseassociated to the callnamespace- Used for HTML element's id generationurl- The url to be calledforceGetMethod- Useful when proxying content, when false it uses the same method used in the original request.headers- Extra headers to be passed to the connection, useful for authentication headers.- Throws:
ProxyException
-
rewriteLocation
protected void rewriteLocation(HttpURLConnection conn, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String namespace, String url) throws UrlRewriterException - Throws:
UrlRewriterException
-
getHostPart
Gets the host part of an URL, including protocol, host, port with no trailing slash.- Parameters:
url-
-
getPrefixFromRequest
Gets the prefix from the request URI address.- Parameters:
request-
-
connect
protected HttpURLConnection connect(javax.servlet.http.HttpServletRequest request, String url, String method, Map<String, String> headers) throws URISyntaxException, MalformedURLException, IOException, org.apache.http.cookie.MalformedCookieExceptionStablishes an HTTP connection with the given URL.- Parameters:
request- Request to get headers from.url- HTTP Address to be connected.method- request method for orbeon- Throws:
URISyntaxException- If the URI is not well formedMalformedURLException- If the URL is not well formedIOException- If there is a connection problem with the remote server.org.apache.http.cookie.MalformedCookieException- If there is a problem when dealing with Cookies
-
isServerError
protected boolean isServerError(int sc) True if the status code represents an error on the server side- Parameters:
sc-
-
isTextFile
Returns true if the given contentType refers to a text file.- Parameters:
contentType-
-
sendRequestHeaders
protected void sendRequestHeaders(Set<String> headers, javax.servlet.http.HttpServletRequest request, HttpURLConnection conn) Sends headers from the request to the remote server.- Parameters:
headers- headers that should be sentrequest- Request to take header values from.conn- Remote server connection
-
sendResponseHeaders
protected void sendResponseHeaders(Set<String> headers, HttpURLConnection conn, javax.servlet.http.HttpServletResponse response) Get headers from remote connection and copies them back to the current response.- Parameters:
headers- headers that should be copied backconn- Remote server connectionresponse- Response to copy header values to.
-
setCookieManager
-
setUrlRewriter
-
setHeadersTo
-
setHeadersFrom
-
getConfigurationService
-
setConfigurationService
-