package com.asayama.gwt.angular.resources.client.directive; import com.asayama.gwt.angular.client.q.Deferred; import com.asayama.gwt.angular.client.q.Promise; import com.asayama.gwt.angular.client.q.Q; import com.google.gwt.http.client.Request; import com.google.gwt.http.client.RequestBuilder; import com.google.gwt.http.client.RequestCallback; import com.google.gwt.http.client.RequestException; import com.google.gwt.http.client.Response; class HttpUtils { static Promise<Response> get(Q q, final String url) { final Deferred<Response> deferred = q.defer(); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { builder.sendRequest(null, new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { deferred.resolve(response); } @Override public void onError(Request request, Throwable exception) { deferred.reject(exception); } }); } catch (RequestException e) { deferred.reject(e); } return deferred.promise(); } }