Class HTTPUtil


  • public class HTTPUtil
    extends java.lang.Object
    • 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 compatibility
      static 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 HTTP
      static java.net.HttpURLConnection getConnection​(java.lang.String url, boolean output, boolean input, boolean useCaches, java.lang.String requestMethod)
      Deprecated.
      Use post method to send messages
      static 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 messages
      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)  
      static java.io.File getTrustedCertsKeystore()  
      private static void initializeProxyAuthenticator()
      Deprecated.
      - use post method to send messages
      static 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MA_HTTP_REQ_TYPE

        public static final java.lang.String MA_HTTP_REQ_TYPE
        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
      • 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
    • Constructor Detail

      • HTTPUtil

        public HTTPUtil()
    • 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, etc
        url - The remote connection string
        headers - HTTP headers to be sent
        params - Parameters for the get. Can be null.
        inputStream - Source stream for retrieving request data
        options - 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)
      • 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)