Class HTTPUtils


  • public class HTTPUtils
    extends java.lang.Object
    Low level HTTP utilities.
    Version:
    $Id: $
    Author:
    niels
    • Constructor Summary

      Constructors 
      Constructor Description
      HTTPUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.StringBuilder append​(java.lang.String... str)
      append
      static java.lang.StringBuilder append​(java.net.URL base, java.lang.String... str)
      Wrapper for append(String...)
      static java.lang.String decurtSlash​(java.lang.String geoserverURL)
      decurtSlash
      static boolean delete​(java.lang.String url, java.lang.String user, java.lang.String pw)
      delete
      static java.lang.String enc​(java.lang.String str)  
      static boolean exists​(java.lang.String url, java.lang.String username, java.lang.String pw)
      Used to query for REST resources.
      static java.lang.String get​(java.lang.String url)
      Performs an HTTP GET on the given URL.
      static java.lang.String get​(java.lang.String url, java.lang.String username, java.lang.String pw)
      Performs an HTTP GET on the given URL.
      static net.sf.json.JSON getAsJSON​(java.lang.String url, java.lang.String username, java.lang.String pw)
      Executes a request using the GET method and parses the result as a json object.
      static java.io.InputStream getAsStream​(java.lang.String url, java.lang.String username, java.lang.String pw)
      Performs an HTTP GET on the given URL.
      static boolean httpPing​(java.lang.String url)
      httpPing
      static boolean httpPing​(java.lang.String url, java.lang.String username, java.lang.String pw)
      httpPing
      static net.sf.json.JSON json​(java.lang.String content)
      json
      static java.lang.String post​(java.lang.String url, java.io.File file, java.lang.String contentType, java.lang.String username, java.lang.String pw)
      POSTs a File to the given URL.
      static java.lang.String post​(java.lang.String url, java.lang.String content, java.lang.String contentType, java.lang.String username, java.lang.String pw)
      POSTs a String to the given URL.
      static java.lang.String post​(java.lang.String url, org.apache.commons.httpclient.methods.RequestEntity requestEntity, java.lang.String username, java.lang.String pw)
      Performs a POST to the given URL.
      static java.lang.String postJson​(java.lang.String url, java.lang.String content, java.lang.String username, java.lang.String pw)
      POSTs a String representing an JSON Object to the given URL.
      static java.lang.String postMultipartForm​(java.lang.String url, java.io.File dir, java.lang.String username, java.lang.String pw)
      POSTs a list of files as attachments to the given URL.
      static java.lang.String postXml​(java.lang.String url, java.lang.String content, java.lang.String username, java.lang.String pw)
      POSTs a String representing an XML document to the given URL.
      static java.lang.String put​(java.lang.String url, java.io.File file, java.lang.String contentType, java.lang.String username, java.lang.String pw)
      PUTs a File to the given URL.
      static java.lang.String put​(java.lang.String url, java.lang.String content, java.lang.String contentType, java.lang.String username, java.lang.String pw)
      PUTs a String to the given URL.
      static java.lang.String put​(java.lang.String url, org.apache.commons.httpclient.methods.RequestEntity requestEntity, java.lang.String username, java.lang.String pw)
      Performs a PUT to the given URL.
      static java.lang.String putJson​(java.lang.String url, java.lang.String content, java.lang.String username, java.lang.String pw)
      PUTs a String representing an JSON Object to the given URL.
      static java.lang.String putXml​(java.lang.String url, java.lang.String content, java.lang.String username, java.lang.String pw)
      PUTs a String representing an XML document to the given URL.
      • Methods inherited from class java.lang.Object

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

      • HTTPUtils

        public HTTPUtils()
    • Method Detail

      • enc

        public static java.lang.String enc​(java.lang.String str)
      • get

        public static java.lang.String get​(java.lang.String url)
        Performs an HTTP GET on the given URL.
        Parameters:
        url - The URL where to connect to.
        Returns:
        The HTTP response as a String if the HTTP response code was 200 (OK).
      • get

        public static java.lang.String get​(java.lang.String url,
                                           java.lang.String username,
                                           java.lang.String pw)
        Performs an HTTP GET on the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        The HTTP response as a String if the HTTP response code was 200 (OK).
      • getAsStream

        public static java.io.InputStream getAsStream​(java.lang.String url,
                                                      java.lang.String username,
                                                      java.lang.String pw)
        Performs an HTTP GET on the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        The HTTP response as a Stream if the HTTP response code was 200 (OK).
      • getAsJSON

        public static net.sf.json.JSON getAsJSON​(java.lang.String url,
                                                 java.lang.String username,
                                                 java.lang.String pw)
                                          throws java.lang.Exception
        Executes a request using the GET method and parses the result as a json object.
        Parameters:
        url - a String object.
        username - a String object.
        pw - a String object.
        Returns:
        The result parsed as json.
        Throws:
        java.lang.Exception - if any.
      • json

        public static net.sf.json.JSON json​(java.lang.String content)

        json

        Parameters:
        content - a String object.
        Returns:
        a JSON object.
      • put

        public static java.lang.String put​(java.lang.String url,
                                           java.io.File file,
                                           java.lang.String contentType,
                                           java.lang.String username,
                                           java.lang.String pw)
        PUTs a File to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        file - The File to be sent.
        contentType - The content-type to advert in the PUT.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • put

        public static java.lang.String put​(java.lang.String url,
                                           java.lang.String content,
                                           java.lang.String contentType,
                                           java.lang.String username,
                                           java.lang.String pw)
        PUTs a String to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        content - The content to be sent as a String.
        contentType - The content-type to advert in the PUT.
        contentType - The content-type to advert in the PUT.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • putXml

        public static java.lang.String putXml​(java.lang.String url,
                                              java.lang.String content,
                                              java.lang.String username,
                                              java.lang.String pw)
        PUTs a String representing an XML document to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        content - The XML content to be sent as a String.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • putJson

        public static java.lang.String putJson​(java.lang.String url,
                                               java.lang.String content,
                                               java.lang.String username,
                                               java.lang.String pw)
        PUTs a String representing an JSON Object to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        content - The JSON Object to be sent as a String.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • put

        public static java.lang.String put​(java.lang.String url,
                                           org.apache.commons.httpclient.methods.RequestEntity requestEntity,
                                           java.lang.String username,
                                           java.lang.String pw)
        Performs a PUT to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        requestEntity - The request to be sent.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • post

        public static java.lang.String post​(java.lang.String url,
                                            java.io.File file,
                                            java.lang.String contentType,
                                            java.lang.String username,
                                            java.lang.String pw)
        POSTs a File to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        file - The File to be sent.
        contentType - The content-type to advert in the POST.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • post

        public static java.lang.String post​(java.lang.String url,
                                            java.lang.String content,
                                            java.lang.String contentType,
                                            java.lang.String username,
                                            java.lang.String pw)
        POSTs a String to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        content - The content to be sent as a String.
        contentType - The content-type to advert in the POST.
        contentType - The content-type to advert in the POST.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • postMultipartForm

        public static java.lang.String postMultipartForm​(java.lang.String url,
                                                         java.io.File dir,
                                                         java.lang.String username,
                                                         java.lang.String pw)
        POSTs a list of files as attachments to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        dir - The folder containing the attachments.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • postXml

        public static java.lang.String postXml​(java.lang.String url,
                                               java.lang.String content,
                                               java.lang.String username,
                                               java.lang.String pw)
        POSTs a String representing an XML document to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        content - The XML content to be sent as a String.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • postJson

        public static java.lang.String postJson​(java.lang.String url,
                                                java.lang.String content,
                                                java.lang.String username,
                                                java.lang.String pw)
        POSTs a String representing an JSON Object to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        content - The JSON content to be sent as a String.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • post

        public static java.lang.String post​(java.lang.String url,
                                            org.apache.commons.httpclient.methods.RequestEntity requestEntity,
                                            java.lang.String username,
                                            java.lang.String pw)
        Performs a POST to the given URL.
        Basic auth is used if both username and pw are not null.
        Parameters:
        url - The URL where to connect to.
        requestEntity - The request to be sent.
        username - Basic auth credential. No basic auth if null.
        pw - Basic auth credential. No basic auth if null.
        Returns:
        the HTTP response or null on errors.
      • delete

        public static boolean delete​(java.lang.String url,
                                     java.lang.String user,
                                     java.lang.String pw)

        delete

        Parameters:
        url - a String object.
        user - a String object.
        pw - a String object.
        Returns:
        a boolean.
      • httpPing

        public static boolean httpPing​(java.lang.String url)

        httpPing

        Parameters:
        url - a String object.
        Returns:
        true if the server response was an HTTP_OK
      • httpPing

        public static boolean httpPing​(java.lang.String url,
                                       java.lang.String username,
                                       java.lang.String pw)

        httpPing

        Parameters:
        url - a String object.
        username - a String object.
        pw - a String object.
        Returns:
        a boolean.
      • exists

        public static boolean exists​(java.lang.String url,
                                     java.lang.String username,
                                     java.lang.String pw)
        Used to query for REST resources.
        Parameters:
        url - The URL of the REST resource to query about.
        username - a String object.
        pw - a String object.
        Returns:
        true on 200, false on 404.
        Throws:
        java.lang.RuntimeException - on unhandled status or exceptions.
      • decurtSlash

        public static java.lang.String decurtSlash​(java.lang.String geoserverURL)

        decurtSlash

        Parameters:
        geoserverURL - a String object.
        Returns:
        recursively remove ending slashes
      • append

        public static java.lang.StringBuilder append​(java.lang.String... str)

        append

        Parameters:
        str - a string array
        Returns:
        create a StringBuilder appending all the passed arguments
      • append

        public static java.lang.StringBuilder append​(java.net.URL base,
                                                     java.lang.String... str)
        Wrapper for append(String...)
        Parameters:
        base - base URL
        str - strings to append
        Returns:
        the base URL with parameters attached