List of usage examples for com.google.gwt.http.client RequestBuilder getRequestData
public String getRequestData()
null
if no requestData was set. 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(); }