|
GWT 2.7.0 | |||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||
See:
Description
| Interface Summary | |
|---|---|
| RequestCallback | The primary interface a caller must implement to receive a response to a
Request. |
| Class Summary | |
|---|---|
| Header | Class for describing an HTTP header. |
| Request | An HTTP request that is waiting for a response. |
| Request.RequestImpl | Native implementation associated with Request. |
| Request.RequestImplIE8And9 | Special Request.RequestImpl for IE8, IE9 to work around some IE specialities. |
| RequestBuilder | Builder for constructing Request objects. |
| RequestBuilder.Method | HTTP request method constants. |
| Response | Wrapper which provides access to the components of an HTTP response. |
| ResponseImpl | A Response implementation based on a XMLHttpRequest. |
| StringValidator | Utility class for validating strings. |
| URL | Utility class for the encoding and decoding URLs in their entirety or by their individual components. |
| UrlBuilder | Utility class to build a URL from components. |
| Exception Summary | |
|---|---|
| RequestException | RequestException is the superclass for the HTTP request related exceptions. |
| RequestPermissionException | Exception thrown when the RequestBuilder attempts to make a request
to a URL which violates the Same-Origin Security
Policy. |
| RequestTimeoutException | Thrown to indicate that an HTTP request has timed out. |
Provides the client-side classes and interfaces for making HTTP requests and processing the associated responses.
Most applications will be interested in the Request, RequestBuilder,
RequestCallback and Response classes.
www.foo.com cannot access
content from www.bar.com. For more details please see, Same-Origin Security
Policy.
RequestBuilder.setTimeoutMillis(int).
com.google.gwt.http.HTTP module.
<module> <!-- other inherited modules, such as com.google.gwt.user.User --> <inherits name="com.google.gwt.http.HTTP"/> <!-- additional module settings --> </module>
RequestCallback instance should be written.
public class RequestCallbackExample implements RequestCallback {
private static final int STATUS_CODE_OK = 200;
public void onError(Request request, Throwable exception) {
if (exception instanceof RequestTimeoutException) {
// handle a request timeout
} else {
// handle other request errors
}
}
public void onResponseReceived(Request request, Response response) {
if (STATUS_CODE_OK == response.getStatusCode()) {
// handle OK response from the server
} else {
// handle non-OK response from the server
}
}
}
public class GetExample implements EntryPoint {
public static final int STATUS_CODE_OK = 200;
public static void doGet(String url) {
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
try {
Request response = builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// Code omitted for clarity
}
public void onResponseReceived(Request request, Response response) {
// Code omitted for clarity
}
});
} catch (RequestException e) {
// Code omitted for clarity
}
}
public void onModuleLoad() {
doGet("/");
}
}
public class PostExample {
public static void doPost(String url, String postData) {
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
try {
builder.setHeader("Content-Type", "application/x-www-form-urlencoded");
Request response = builder.sendRequest(postData, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// code omitted for clarity
}
public void onResponseReceived(Request request, Response response) {
// code omitted for clarity
}
});
} catch (RequestException e) {
Window.alert("Failed to send the request: " + e.getMessage());
}
}
public void onModuleLoad() {
doPost("/", "Hello World!");
}
}
public class TimeoutExample implements EntryPoint {
public static void doGetWithTimeout(String url) {
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
try {
/*
* wait 2000 milliseconds for the request to complete
*/
builder.setTimeoutMillis(2000);
Request response = builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
if (exception instanceof RequestTimeoutException) {
// handle a request timeout
} else {
// handle other request errors
}
}
public void onResponseReceived(Request request, Response response) {
// code omitted for clarity
}
});
} catch (RequestException e) {
Window.alert("Failed to send the request: " + e.getMessage());
}
}
public void onModuleLoad() {
doGetWithTimeout("/");
}
}
public class QueryAndFormDataExample {
public static interface Entry {
String getName();
String getValue();
}
public static String buildQueryString(Entry[] queryEntries) {
StringBuffer sb = new StringBuffer();
for (int i = 0, n = queryEntries.length; i < n; ++i) {
Entry queryEntry = queryEntries[i];
if (i > 0) {
sb.append("&");
}
// encode the characters in the name
String encodedName = URL.encodeQueryString(queryEntry.getName());
sb.append(encodedName);
sb.append("=");
// encode the characters in the value
String encodedValue = URL.encodeQueryString(queryEntry.getValue());
sb.append(encodedValue);
}
return sb.toString();
}
}
RequestBuilder send a request other than GET or POST?public class RequestBuilderForAnyHTTPMethodTypeExample extends RequestBuilder {
/**
* Constructor that allows a developer to override the HTTP method
* restrictions imposed by the RequestBuilder class. Note if you override the
* RequestBuilder's HTTP method restrictions in this manner, your application
* may not work correctly on Safari browsers.
*
* @param httpMethod any non-null, non-empty string is considered valid
* @param url any non-null, non-empty string is considered valid
*
* @throws IllegalArgumentException if httpMethod or url are empty
* @throws NullPointerException if httpMethod or url are null
*/
public RequestBuilderForAnyHTTPMethodTypeExample(String httpMethod, String url) {
super(httpMethod, url);
}
}
|
GWT 2.7.0 | |||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||