Example usage for com.google.gwt.http.client RequestBuilder getRequestData

List of usage examples for com.google.gwt.http.client RequestBuilder getRequestData

Introduction

In this page you can find the example usage for com.google.gwt.http.client RequestBuilder getRequestData.

Prototype

public String getRequestData() 

Source Link

Document

Returns the requestData previously set by #setRequestData(String) , or null if no requestData was set.

Usage

From source file:org.fusesource.restygwt.client.cache.ComplexCacheKey.java

License:Apache License

public ComplexCacheKey(RequestBuilder requestBuilder) {
    super(requestBuilder.getHTTPMethod() + " " + requestBuilder.getUrl() + " ["
            + requestBuilder.getRequestData() + "]");
}

From source file:org.fusesource.restygwt.client.dispatcher.CacheKey.java

License:Apache License

public CacheKey(RequestBuilder requestBuilder) {
    this.url = requestBuilder.getUrl();
    this.requestData = requestBuilder.getRequestData();
    this.httpMethod = requestBuilder.getHTTPMethod();

}

From source file:org.fusesource.restygwt.client.dispatcher.CachingDispatcherFilter.java

License:Apache License

/**
 * main filter method for a dispatcherfilter.
 *
 * @return continue filtering or not/*from   w w  w.  j  a  v  a2  s.  c  o m*/
 */
@Override
public boolean filter(final Method method, final RequestBuilder builder) {
    final CacheKey cacheKey = cacheKey(builder);

    if (cacheKey != null) {
        final Response cachedResponse = cacheStorage.getResultOrReturnNull(cacheKey);
        if (cachedResponse != null) {
            //case 1: we got a result in cache => return it...
            if (LogConfiguration.loggingIsEnabled()) {
                Logger.getLogger(Dispatcher.class.getName()).info("already got a cached response for: "
                        + builder.getHTTPMethod() + " " + builder.getUrl());
            }
            // onResponseReceived can be time consuming and can manipulate the DOM
            // deferring the command keeps the async behaviour of this method call
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {

                @Override
                public void execute() {
                    builder.getCallback().onResponseReceived(null, cachedResponse);
                }
            });
            return false;
        }
        final RequestCallback callback = callbackFactory.createCallback(method);

        //case 2: => no cache in result => queue it....
        if (!cacheStorage.hasCallback(cacheKey)) {
            //case 2.1 => first callback => make a new one and execute...
            cacheStorage.addCallback(cacheKey, builder.getCallback());

            if (LogConfiguration.loggingIsEnabled()) {
                Logger.getLogger(Dispatcher.class.getName()).info(
                        "Sending *caching* http request: " + builder.getHTTPMethod() + " " + builder.getUrl());
            }

            // important part:
            builder.setCallback(callback);
            return true;
        }
        //case 2.2 => a callback already in progress => queue to get response when back
        if (LogConfiguration.loggingIsEnabled()) {
            Logger.getLogger(Dispatcher.class.getName()).info(
                    "request in progress, queue callback: " + builder.getHTTPMethod() + " " + builder.getUrl());
        }
        cacheStorage.addCallback(cacheKey, callback);
        return false;
    }
    // non cachable case
    if (LogConfiguration.loggingIsEnabled()) {
        String content = builder.getRequestData();
        Logger.getLogger(Dispatcher.class.getName()).info("Sending *non-caching* http request: "
                + builder.getHTTPMethod() + " " + builder.getUrl() + " (Content: `" + content + ")");
    }

    //            /*
    //             * add X-Request-Token to all non-caching calls (!= GET) if we have some
    //             */
    //            builder.setHeader("X-Testing", "Bude");

    builder.setCallback(callbackFactory.createCallback(method));
    return true;// continue filtering
}

From source file:org.fusesource.restygwt.client.dispatcher.CachingRetryingDispatcher.java

License:Apache License

public Request send(Method method, RequestBuilder builder) throws RequestException {

    RequestCallback outerRequestCallback = builder.getCallback();
    final CacheKey cacheKey = new CacheKey(builder);

    final Response cachedResponse = cacheStorage.getResultOrReturnNull(cacheKey);

    if (cachedResponse != null) {

        outerRequestCallback.onResponseReceived(null, cachedResponse);
        return null;

    } else {/*from  w w  w  .j  a  v  a2  s .  com*/

        RequestCallback retryingCallback = new CachingRetryingCallback(builder, outerRequestCallback);
        builder.setCallback(retryingCallback);

        GWT.log("Sending http request: " + builder.getHTTPMethod() + " " + builder.getUrl() + " ,timeout:"
                + builder.getTimeoutMillis(), null);

        String content = builder.getRequestData();

        if (content != null && content.length() > 0) {
            GWT.log(content, null);
        }

        return builder.send();
    }

}

From source file:org.fusesource.restygwt.client.dispatcher.DefaultDispatcher.java

License:Apache License

public Request send(Method method, RequestBuilder builder) throws RequestException {
    GWT.log("Sending http request: " + builder.getHTTPMethod() + " " + builder.getUrl() + " ,timeout:"
            + builder.getTimeoutMillis(), null);

    String content = builder.getRequestData();
    if (content != null && content.length() > 0) {
        GWT.log(content, null);/*from  ww w.  j a v a 2s  . c om*/
    }
    return builder.send();
}