Package it.geosolutions.geoserver.rest
Class HTTPUtils
- java.lang.Object
-
- it.geosolutions.geoserver.rest.HTTPUtils
-
public class HTTPUtils extends java.lang.ObjectLow 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.StringBuilderappend(java.lang.String... str)appendstatic java.lang.StringBuilderappend(java.net.URL base, java.lang.String... str)Wrapper forappend(String...)static java.lang.StringdecurtSlash(java.lang.String geoserverURL)decurtSlashstatic booleandelete(java.lang.String url, java.lang.String user, java.lang.String pw)deletestatic java.lang.Stringenc(java.lang.String str)static booleanexists(java.lang.String url, java.lang.String username, java.lang.String pw)Used to query for REST resources.static java.lang.Stringget(java.lang.String url)Performs an HTTP GET on the given URL.static java.lang.Stringget(java.lang.String url, java.lang.String username, java.lang.String pw)Performs an HTTP GET on the given URL.static net.sf.json.JSONgetAsJSON(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.InputStreamgetAsStream(java.lang.String url, java.lang.String username, java.lang.String pw)Performs an HTTP GET on the given URL.static booleanhttpPing(java.lang.String url)httpPingstatic booleanhttpPing(java.lang.String url, java.lang.String username, java.lang.String pw)httpPingstatic net.sf.json.JSONjson(java.lang.String content)jsonstatic java.lang.Stringpost(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.Stringpost(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.Stringpost(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.StringpostJson(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.StringpostMultipartForm(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.StringpostXml(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.Stringput(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.Stringput(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.Stringput(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.StringputJson(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.StringputXml(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.
-
-
-
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.ExceptionExecutes a request using the GET method and parses the result as a json object.- Parameters:
url- aStringobject.username- aStringobject.pw- aStringobject.- 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- aStringobject.- Returns:
- a
JSONobject.
-
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- aStringobject.user- aStringobject.pw- aStringobject.- Returns:
- a boolean.
-
httpPing
public static boolean httpPing(java.lang.String url)
httpPing
- Parameters:
url- aStringobject.- 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- aStringobject.username- aStringobject.pw- aStringobject.- 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- aStringobject.pw- aStringobject.- 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- aStringobject.- 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 forappend(String...)- Parameters:
base- base URLstr- strings to append- Returns:
- the base URL with parameters attached
-
-