Package org.openas2.util
Class HTTPUtil
- java.lang.Object
-
- org.openas2.util.HTTPUtil
-
public class HTTPUtil extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HTTPUtil.Method
private static class
HTTPUtil.SelfSignedTrustManager
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
HEADER_CONNECTION
static java.lang.String
HEADER_CONTENT_TYPE
static java.lang.String
HEADER_USER_AGENT
static java.lang.String
HTTP_PROP_OVERRIDE_SSL_CHECKS
static java.lang.String
HTTP_PROP_REMOVE_HEADER_FOLDING
static java.lang.String
HTTP_PROP_SSL_PROTOCOLS
private static java.util.Map<java.lang.Integer,java.lang.String>
httpResponseCodeToPhrase
static java.lang.String
MA_HTTP_REQ_TYPE
static java.lang.String
MA_HTTP_REQ_URL
static java.lang.String
PARAM_CONNECT_TIMEOUT
static java.lang.String
PARAM_HTTP_PWD
static java.lang.String
PARAM_HTTP_USER
static java.lang.String
PARAM_READ_TIMEOUT
static java.lang.String
PARAM_SOCKET_TIMEOUT
-
Constructor Summary
Constructors Constructor Description HTTPUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private static org.apache.http.client.config.RequestConfig.Builder
buildRequestConfig(java.util.Map<java.lang.String,java.lang.String> options)
private static org.apache.http.conn.ssl.SSLConnectionSocketFactory
buildSslFactory(java.net.URL urlObj, java.util.Map<java.lang.String,java.lang.String> options)
static void
cleanIdHeaders(javax.mail.internet.InternetHeaders hdrs)
Cleans specific headers to ensure AS2 compatibilitystatic void
copyHttpHeaders(java.net.HttpURLConnection conn, javax.mail.internet.InternetHeaders headers)
static ResponseWrapper
execRequest(java.lang.String method, java.lang.String url, java.util.Enumeration<javax.mail.Header> headers, org.apache.http.NameValuePair[] params, java.io.InputStream inputStream, java.util.Map<java.lang.String,java.lang.String> options, long noChunkMaxSize)
Execute a request via HTTPstatic java.net.HttpURLConnection
getConnection(java.lang.String url, boolean output, boolean input, boolean useCaches, java.lang.String requestMethod)
Deprecated.Use post method to send messagesstatic java.lang.String
getHTTPResponseMessage(int responseCode)
static java.lang.String
getParamsString(java.util.Map<java.lang.String,java.lang.String> params)
private static java.net.Proxy
getProxy(java.lang.String protocol)
Deprecated.- use post method to send messagesprivate static org.apache.http.client.methods.RequestBuilder
getRequestBuilder(java.lang.String method, java.net.URL urlObj, org.apache.http.NameValuePair[] params, java.util.Enumeration<javax.mail.Header> headers)
static java.io.File
getTrustedCertsKeystore()
private static void
initializeProxyAuthenticator()
Deprecated.- use post method to send messagesstatic boolean
isLocalhostBound(java.net.InetAddress addr)
static java.lang.String
printHeaders(java.util.Enumeration<javax.mail.Header> hdrs, java.lang.String nameValueSeparator, java.lang.String valuePairSeparator)
static byte[]
readData(java.io.InputStream inStream, java.io.OutputStream outStream, Message msg)
static byte[]
readHTTP(java.io.InputStream inStream, java.io.OutputStream outStream, javax.mail.internet.InternetHeaders headerCache, java.util.List<java.lang.String> httpRequest)
static java.lang.String[]
readRequest(java.io.InputStream in)
static void
sendHTTPResponse(java.io.OutputStream out, int responseCode, java.io.ByteArrayOutputStream data, java.util.Enumeration<java.lang.String> headers)
static void
sendHTTPResponse(java.io.OutputStream out, int responseCode, java.lang.String data)
private static void
setProxyConfig(org.apache.http.impl.client.HttpClientBuilder builder, org.apache.http.client.config.RequestConfig.Builder rcBuilder, java.lang.String protocol)
-
-
-
Field Detail
-
MA_HTTP_REQ_TYPE
public static final java.lang.String MA_HTTP_REQ_TYPE
- See Also:
- Constant Field Values
-
MA_HTTP_REQ_URL
public static final java.lang.String MA_HTTP_REQ_URL
- See Also:
- Constant Field Values
-
HTTP_PROP_REMOVE_HEADER_FOLDING
public static final java.lang.String HTTP_PROP_REMOVE_HEADER_FOLDING
- See Also:
- Constant Field Values
-
HTTP_PROP_SSL_PROTOCOLS
public static final java.lang.String HTTP_PROP_SSL_PROTOCOLS
- See Also:
- Constant Field Values
-
HTTP_PROP_OVERRIDE_SSL_CHECKS
public static final java.lang.String HTTP_PROP_OVERRIDE_SSL_CHECKS
- See Also:
- Constant Field Values
-
PARAM_READ_TIMEOUT
public static final java.lang.String PARAM_READ_TIMEOUT
- See Also:
- Constant Field Values
-
PARAM_CONNECT_TIMEOUT
public static final java.lang.String PARAM_CONNECT_TIMEOUT
- See Also:
- Constant Field Values
-
PARAM_SOCKET_TIMEOUT
public static final java.lang.String PARAM_SOCKET_TIMEOUT
- See Also:
- Constant Field Values
-
PARAM_HTTP_USER
public static final java.lang.String PARAM_HTTP_USER
- See Also:
- Constant Field Values
-
PARAM_HTTP_PWD
public static final java.lang.String PARAM_HTTP_PWD
- See Also:
- Constant Field Values
-
HEADER_CONTENT_TYPE
public static final java.lang.String HEADER_CONTENT_TYPE
- See Also:
- Constant Field Values
-
HEADER_USER_AGENT
public static final java.lang.String HEADER_USER_AGENT
- See Also:
- Constant Field Values
-
HEADER_CONNECTION
public static final java.lang.String HEADER_CONNECTION
- See Also:
- Constant Field Values
-
httpResponseCodeToPhrase
private static final java.util.Map<java.lang.Integer,java.lang.String> httpResponseCodeToPhrase
-
-
Method Detail
-
getHTTPResponseMessage
public static java.lang.String getHTTPResponseMessage(int responseCode)
-
readHTTP
public static byte[] readHTTP(java.io.InputStream inStream, java.io.OutputStream outStream, javax.mail.internet.InternetHeaders headerCache, java.util.List<java.lang.String> httpRequest) throws java.io.IOException, javax.mail.MessagingException
- Throws:
java.io.IOException
javax.mail.MessagingException
-
readData
public static byte[] readData(java.io.InputStream inStream, java.io.OutputStream outStream, Message msg) throws java.io.IOException, javax.mail.MessagingException
- Throws:
java.io.IOException
javax.mail.MessagingException
-
cleanIdHeaders
public static void cleanIdHeaders(javax.mail.internet.InternetHeaders hdrs)
Cleans specific headers to ensure AS2 compatibility- Parameters:
hdrs
- Headers to be cleaned
-
readRequest
public static java.lang.String[] readRequest(java.io.InputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
execRequest
public static ResponseWrapper execRequest(java.lang.String method, java.lang.String url, java.util.Enumeration<javax.mail.Header> headers, org.apache.http.NameValuePair[] params, java.io.InputStream inputStream, java.util.Map<java.lang.String,java.lang.String> options, long noChunkMaxSize) throws java.lang.Exception
Execute a request via HTTP- Parameters:
method
- GET, PUT, POST, DELETE, etcurl
- The remote connection stringheaders
- HTTP headers to be sentparams
- Parameters for the get. Can be null.inputStream
- Source stream for retrieving request dataoptions
- Any additional options for affecting request behaviour. Can be null.noChunkMaxSize
- The maximum size before chunking would need to be utilised. 0 disables check for chunking- Returns:
- ResponseWrapper
- Throws:
java.lang.Exception
-
buildSslFactory
private static org.apache.http.conn.ssl.SSLConnectionSocketFactory buildSslFactory(java.net.URL urlObj, java.util.Map<java.lang.String,java.lang.String> options) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getRequestBuilder
private static org.apache.http.client.methods.RequestBuilder getRequestBuilder(java.lang.String method, java.net.URL urlObj, org.apache.http.NameValuePair[] params, java.util.Enumeration<javax.mail.Header> headers) throws java.net.URISyntaxException
- Throws:
java.net.URISyntaxException
-
buildRequestConfig
private static org.apache.http.client.config.RequestConfig.Builder buildRequestConfig(java.util.Map<java.lang.String,java.lang.String> options)
-
sendHTTPResponse
public static void sendHTTPResponse(java.io.OutputStream out, int responseCode, java.io.ByteArrayOutputStream data, java.util.Enumeration<java.lang.String> headers) throws java.io.IOException
- Throws:
java.io.IOException
-
sendHTTPResponse
public static void sendHTTPResponse(java.io.OutputStream out, int responseCode, java.lang.String data) throws java.io.IOException
- Throws:
java.io.IOException
-
printHeaders
public static java.lang.String printHeaders(java.util.Enumeration<javax.mail.Header> hdrs, java.lang.String nameValueSeparator, java.lang.String valuePairSeparator)
-
getTrustedCertsKeystore
public static java.io.File getTrustedCertsKeystore() throws OpenAS2Exception
- Throws:
OpenAS2Exception
-
getParamsString
public static java.lang.String getParamsString(java.util.Map<java.lang.String,java.lang.String> params) throws java.io.UnsupportedEncodingException
- Throws:
java.io.UnsupportedEncodingException
-
isLocalhostBound
public static boolean isLocalhostBound(java.net.InetAddress addr)
-
getConnection
public static java.net.HttpURLConnection getConnection(java.lang.String url, boolean output, boolean input, boolean useCaches, java.lang.String requestMethod) throws OpenAS2Exception
Deprecated.Use post method to send messages- Parameters:
url
-output
-input
-useCaches
-requestMethod
-- Returns:
- Throws:
OpenAS2Exception
-
setProxyConfig
private static void setProxyConfig(org.apache.http.impl.client.HttpClientBuilder builder, org.apache.http.client.config.RequestConfig.Builder rcBuilder, java.lang.String protocol) throws OpenAS2Exception
- Throws:
OpenAS2Exception
-
getProxy
private static java.net.Proxy getProxy(java.lang.String protocol) throws OpenAS2Exception
Deprecated.- use post method to send messages- Parameters:
protocol
-- Returns:
- Throws:
OpenAS2Exception
-
initializeProxyAuthenticator
private static void initializeProxyAuthenticator()
Deprecated.- use post method to send messages
-
copyHttpHeaders
public static void copyHttpHeaders(java.net.HttpURLConnection conn, javax.mail.internet.InternetHeaders headers)
-
-