Package com.google.gwt.http.client
Class RequestBuilder
- java.lang.Object
-
- com.google.gwt.http.client.RequestBuilder
-
public class RequestBuilder extends java.lang.Object
Builder for constructingRequest
objects.Required Module
Modules that use this class should inheritcom.google.gwt.http.HTTP
.<module> <!-- other inherited modules, such as com.google.gwt.user.User --> <inherits name="com.google.gwt.http.HTTP"/> <!-- additional module settings --> </module>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RequestBuilder.Method
HTTP request method constants.
-
Field Summary
Fields Modifier and Type Field Description static RequestBuilder.Method
DELETE
Specifies that the HTTP DELETE method should be used.static RequestBuilder.Method
GET
Specifies that the HTTP GET method should be used.static RequestBuilder.Method
HEAD
Specifies that the HTTP HEAD method should be used.static RequestBuilder.Method
POST
Specifies that the HTTP POST method should be used.static RequestBuilder.Method
PUT
Specifies that the HTTP PUT method should be used.
-
Constructor Summary
Constructors Modifier Constructor Description RequestBuilder(RequestBuilder.Method httpMethod, java.lang.String url)
Creates a builder using the parameters for configuration.protected
RequestBuilder(java.lang.String httpMethod, java.lang.String url)
Creates a builder using the parameters values for configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RequestCallback
getCallback()
Returns the callback previously set bysetCallback(RequestCallback)
, ornull
if no callback was set.java.lang.String
getHeader(java.lang.String header)
Returns the value of a header previous set bysetHeader(String, String)
, ornull
if no such header was set.java.lang.String
getHTTPMethod()
Returns the HTTP method specified in the constructor.java.lang.String
getPassword()
Returns the password previously set bysetPassword(String)
, ornull
if no password was set.java.lang.String
getRequestData()
Returns the requestData previously set bysetRequestData(String)
, ornull
if no requestData was set.int
getTimeoutMillis()
Returns the timeoutMillis previously set bysetTimeoutMillis(int)
, or0
if no timeoutMillis was set.java.lang.String
getUrl()
Returns the HTTP URL specified in the constructor.java.lang.String
getUser()
Returns the user previously set bysetUser(String)
, ornull
if no user was set.Request
send()
Sends an HTTP request based on the current builder configuration.Request
sendRequest(java.lang.String requestData, RequestCallback callback)
Sends an HTTP request based on the current builder configuration with the specified data and callback.void
setCallback(RequestCallback callback)
Sets the response handler for this request.void
setHeader(java.lang.String header, java.lang.String value)
Sets a request header with the given name and value.void
setIncludeCredentials(boolean includeCredentials)
Sets whether the cross origin request will include credentials.void
setPassword(java.lang.String password)
Sets the password to use in the request URL.void
setRequestData(java.lang.String requestData)
Sets the data to send as part of this request.void
setTimeoutMillis(int timeoutMillis)
Sets the number of milliseconds to wait for a request to complete.void
setUser(java.lang.String user)
Sets the user name that will be used in the request URL.
-
-
-
Field Detail
-
DELETE
public static final RequestBuilder.Method DELETE
Specifies that the HTTP DELETE method should be used.
-
GET
public static final RequestBuilder.Method GET
Specifies that the HTTP GET method should be used.
-
HEAD
public static final RequestBuilder.Method HEAD
Specifies that the HTTP HEAD method should be used.
-
POST
public static final RequestBuilder.Method POST
Specifies that the HTTP POST method should be used.
-
PUT
public static final RequestBuilder.Method PUT
Specifies that the HTTP PUT method should be used.
-
-
Constructor Detail
-
RequestBuilder
public RequestBuilder(RequestBuilder.Method httpMethod, java.lang.String url)
Creates a builder using the parameters for configuration.- Parameters:
httpMethod
- HTTP method to use for the requesturl
- URL that has already has already been encoded. Please seeURL.encode(String)
,URL.encodePathSegment(String)
andURL.encodeQueryString(String)
for how to do this.- Throws:
java.lang.IllegalArgumentException
- if the httpMethod or URL are emptyjava.lang.NullPointerException
- if the httpMethod or the URL are null
-
RequestBuilder
protected RequestBuilder(java.lang.String httpMethod, java.lang.String url)
Creates a builder using the parameters values for configuration.- Parameters:
httpMethod
- HTTP method to use for the requesturl
- URL that has already has already been URL encoded. Please seeURL.encode(String)
andURL.encodePathSegment(String)
andURL.encodeQueryString(String)
for how to do this.- Throws:
java.lang.IllegalArgumentException
- if the httpMethod or URL are emptyjava.lang.NullPointerException
- if the httpMethod or the URL are null
-
-
Method Detail
-
getCallback
public RequestCallback getCallback()
Returns the callback previously set bysetCallback(RequestCallback)
, ornull
if no callback was set.
-
getHeader
public java.lang.String getHeader(java.lang.String header)
Returns the value of a header previous set bysetHeader(String, String)
, ornull
if no such header was set.- Parameters:
header
- the name of the header
-
getHTTPMethod
public java.lang.String getHTTPMethod()
Returns the HTTP method specified in the constructor.
-
getPassword
public java.lang.String getPassword()
Returns the password previously set bysetPassword(String)
, ornull
if no password was set.
-
getRequestData
public java.lang.String getRequestData()
Returns the requestData previously set bysetRequestData(String)
, ornull
if no requestData was set.
-
getTimeoutMillis
public int getTimeoutMillis()
Returns the timeoutMillis previously set bysetTimeoutMillis(int)
, or0
if no timeoutMillis was set.
-
getUrl
public java.lang.String getUrl()
Returns the HTTP URL specified in the constructor.
-
getUser
public java.lang.String getUser()
Returns the user previously set bysetUser(String)
, ornull
if no user was set.
-
send
public Request send() throws RequestException
Sends an HTTP request based on the current builder configuration. If no request headers have been set, the header "Content-Type" will be used with a value of "text/plain; charset=utf-8". You must callsetRequestData(String)
andsetCallback(RequestCallback)
before calling this method.- Returns:
- a
Request
object that can be used to track the request - Throws:
RequestException
- if the call fails to initiatejava.lang.NullPointerException
- if a request callback has not been set
-
sendRequest
public Request sendRequest(java.lang.String requestData, RequestCallback callback) throws RequestException
Sends an HTTP request based on the current builder configuration with the specified data and callback. If no request headers have been set, the header "Content-Type" will be used with a value of "text/plain; charset=utf-8". This method does not cacherequestData
orcallback
.- Parameters:
requestData
- the data to send as part of the requestcallback
- the response handler to be notified when the request fails or completes- Returns:
- a
Request
object that can be used to track the request - Throws:
java.lang.NullPointerException
- ifcallback
null
RequestException
-
setCallback
public void setCallback(RequestCallback callback)
Sets the response handler for this request. This method must be called before callingsend()
.- Parameters:
callback
- the response handler to be notified when the request fails or completes- Throws:
java.lang.NullPointerException
- ifcallback
isnull
-
setHeader
public void setHeader(java.lang.String header, java.lang.String value)
Sets a request header with the given name and value. If a header with the specified name has already been set then the new value overwrites the current value.- Parameters:
header
- the name of the headervalue
- the value of the header- Throws:
java.lang.NullPointerException
- if header or value are nulljava.lang.IllegalArgumentException
- if header or value are the empty string
-
setPassword
public void setPassword(java.lang.String password)
Sets the password to use in the request URL. This is ignored if there is no user specified.- Parameters:
password
- password to use in the request URL- Throws:
java.lang.IllegalArgumentException
- if the password is emptyjava.lang.NullPointerException
- if the password is null
-
setRequestData
public void setRequestData(java.lang.String requestData)
Sets the data to send as part of this request. This method must be called before callingsend()
.- Parameters:
requestData
- the data to send as part of the request
-
setTimeoutMillis
public void setTimeoutMillis(int timeoutMillis)
Sets the number of milliseconds to wait for a request to complete. Should the request timeout, theRequestCallback.onError(Request, Throwable)
method will be called on the callback instance given to thesendRequest(String, RequestCallback)
method. The callback method will receive an instance of theRequestTimeoutException
class as itsThrowable
argument.- Parameters:
timeoutMillis
- number of milliseconds to wait before canceling the request, a value of zero disables timeouts- Throws:
java.lang.IllegalArgumentException
- if the timeout value is negative
-
setUser
public void setUser(java.lang.String user)
Sets the user name that will be used in the request URL.- Parameters:
user
- user name to use- Throws:
java.lang.IllegalArgumentException
- if the user is emptyjava.lang.NullPointerException
- if the user is null
-
setIncludeCredentials
public void setIncludeCredentials(boolean includeCredentials)
Sets whether the cross origin request will include credentials.- Parameters:
withCredentials
- whether to include credentials in XHR
-
-