/** * Possibly fire off an HTTPRequest for the text resource. */ @SuppressIsTrustedResourceUriCastCheck public void getText(ResourceCallback<TextResource> callback) throws ResourceException { // If we've already parsed the JSON bundle, short-circuit. if (cache[index] != null) { callback.onSuccess(cache[index]); return; } if (md5Hash != null) { // If we have an md5Hash, we should be using JSONP JsonpRequestBuilder rb = new JsonpRequestBuilder(); rb.setPredeterminedId(md5Hash); rb.requestObject(url.asString(), new ETRCallback(callback)); } else { RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url.asString()); try { rb.sendRequest("", new ETRCallback(callback)); } catch (RequestException e) { throw new ResourceException(this, "Unable to initiate request for external resource", e); } } } }
/** * Sends a JSONP request, does not expect any result, but still allows to be notified when the * request has been executed on the server. */ public JsonpRequest<Void> send(@IsTrustedResourceUri String url, AsyncCallback<Void> callback) { return send(url, callback, false); }
String url = "http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full" + "?alt=json-in-script"; JsonpRequestBuilder jsonp = new JsonpRequestBuilder(); // No JSNI! jsonp.requestObject(url, new AsyncCallback<Feed>() { // Type-safe! public void onFailure(Throwable throwable) { // Easy to debug! (hopefully) } public void onSuccess(Feed feed) { // Success! } } });
/** * helper method to make RestServiceClassCreator easier to maintain * @param callback */ public Object send(AsyncCallback<JavaScriptObject> callback) { return jsonpBuilder.requestObject(resource.getUri(), callback); }
public PromiseReqBuilderJSONP(String url, String callbackParam, int timeout) { JsonpRequestBuilder builder = new JsonpRequestBuilder(); if (timeout > 0) { builder.setTimeout(timeout); } // jQuery allows a parameter callback=? to figure out the callback parameter if (callbackParam == null) { MatchResult tmp = callbackRegex.exec(url); if (tmp != null && tmp.getGroupCount() == 4) { callbackParam = tmp.getGroup(2); url = tmp.getGroup(1) + tmp.getGroup(3); } } if (callbackParam != null) { builder.setCallbackParam(callbackParam); } send(builder, url, new AsyncCallback<Object>() { public void onFailure(Throwable caught) { dfd.reject(caught); } public void onSuccess(Object result) { dfd.resolve(result); } }); }
public JsonModelServiceAsyncImpl(String requestPath) { this.jsonp = new JsonpRequestBuilder(); this.requestPath = requestPath; }
@Override public Method timeout(int timeout) { jsonpBuilder.setTimeout(timeout); return this; }
public JsonpMethod callbackParam(String callbackParam) { jsonpBuilder.setCallbackParam(callbackParam); return this; }
public static void httpGetJsonp(final String url, final Callback<List<String>, String> done) { if (Empty.is(url)) { if (done != null) done.onSuccess(null); return; } JsonpRequestBuilder builder = new JsonpRequestBuilder(); builder.requestObject(url, new AsyncCallback<JsArrayString>() { @Override public void onFailure(Throwable caught) { HttpUtils.logError(url, caught); if (done != null) done.onFailure(url + " >> " + caught.getMessage()); } @Override public void onSuccess(JsArrayString result) { if (done != null) { if (result == null || result.length() == 0) { done.onSuccess(null); } else { List<String> lst = new ArrayList<>(result.length()); for (int i = 0; i < result.length(); i++) lst.add(result.get(i).trim()); done.onSuccess(lst); } } } }); } }
/** * helper method to make RestServiceClassCreator easier to maintain * @param callback */ public Object send(AsyncCallback<JavaScriptObject> callback) { return jsonpBuilder.requestObject(resource.getUri(), callback); }
@Override public Method timeout(int timeout) { jsonpBuilder.setTimeout(timeout); return this; }
public JsonpMethod callbackParam(String callbackParam) { jsonpBuilder.setCallbackParam(callbackParam); return this; }
public static void httpGetJsonp(final String url, final Callback<List<String>, String> done) { if (Empty.is(url)) { if (done != null) done.onSuccess(null); return; } JsonpRequestBuilder builder = new JsonpRequestBuilder(); builder.requestObject(url, new AsyncCallback<JsArrayString>() { @Override public void onFailure(Throwable caught) { HttpUtils.logError(url, caught); if (done != null) done.onFailure(url + " >> " + caught.getMessage()); } @Override public void onSuccess(JsArrayString result) { if (done != null) { if (result == null || result.length() == 0) { done.onSuccess(null); } else { List<String> lst = new ArrayList<>(result.length()); for (int i = 0; i < result.length(); i++) lst.add(result.get(i).trim()); done.onSuccess(lst); } } } }); } }
/** * Possibly fire off an HTTPRequest for the text resource. */ public void getText(ResourceCallback<TextResource> callback) throws ResourceException { // If we've already parsed the JSON bundle, short-circuit. if (cache[index] != null) { callback.onSuccess(cache[index]); return; } if (md5Hash != null) { // If we have an md5Hash, we should be using JSONP JsonpRequestBuilder rb = new JsonpRequestBuilder(); rb.setPredeterminedId(md5Hash); rb.requestObject(url.asString(), new ETRCallback(callback)); } else { RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url.asString()); try { rb.sendRequest("", new ETRCallback(callback)); } catch (RequestException e) { throw new ResourceException(this, "Unable to initiate request for external resource", e); } } } }
@Override public Object send(final JsonCallback callback) { return jsonpBuilder.requestObject(resource.getUri(), new AsyncCallback<JavaScriptObject>() { @Override public void onSuccess(JavaScriptObject result) { callback.onSuccess(JsonpMethod.this, new JSONObject(result)); } @Override public void onFailure(Throwable caught) { callback.onFailure(JsonpMethod.this, caught); } }); }
/** * Sends a JSONP request and expects a JavaScript object as a result. The caller can either use * {@link com.google.gwt.json.client.JSONObject} to parse it, or use a JavaScript overlay class. */ public <T extends JavaScriptObject> JsonpRequest<T> requestObject( @IsTrustedResourceUri String url, AsyncCallback<T> callback) { return send(url, callback, false); }
public static void httpGetJsonp(final String url, final Callback<List<String>, String> done) { if (Empty.is(url)) { if (done != null) done.onSuccess(null); return; } JsonpRequestBuilder builder = new JsonpRequestBuilder(); builder.requestObject(url, new AsyncCallback<JsArrayString>() { @Override public void onFailure(Throwable caught) { HttpUtils.logError(url, caught); if (done != null) done.onFailure(url + " >> " + caught.getMessage()); } @Override public void onSuccess(JsArrayString result) { if (done != null) { if (result == null || result.length() == 0) { done.onSuccess(null); } else { List<String> lst = new ArrayList<>(result.length()); for (int i = 0; i < result.length(); i++) lst.add(result.get(i).trim()); done.onSuccess(lst); } } } }); } }
/** * Possibly fire off an HTTPRequest for the text resource. */ public void getText(ResourceCallback<TextResource> callback) throws ResourceException { // If we've already parsed the JSON bundle, short-circuit. if (cache[index] != null) { callback.onSuccess(cache[index]); return; } if (md5Hash != null) { // If we have an md5Hash, we should be using JSONP JsonpRequestBuilder rb = new JsonpRequestBuilder(); rb.setPredeterminedId(md5Hash); rb.requestObject(url.asString(), new ETRCallback(callback)); } else { RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url.asString()); try { rb.sendRequest("", new ETRCallback(callback)); } catch (RequestException e) { throw new ResourceException(this, "Unable to initiate request for external resource", e); } } } }
@Override public Object send(final JsonCallback callback) { return jsonpBuilder.requestObject(resource.getUri(), new AsyncCallback<JavaScriptObject>() { @Override public void onSuccess(JavaScriptObject result) { callback.onSuccess(JsonpMethod.this, new JSONObject(result)); } @Override public void onFailure(Throwable caught) { callback.onFailure(JsonpMethod.this, caught); } }); }
/** * Sends a JSONP request and does not expect any results. */ public void send(@IsTrustedResourceUri String url) { send(url, null, false); }