public Promise getJsonP(final Settings settings) { String url = settings.getUrl().replaceFirst("callback=[^&]*", ""); url += (url.contains("?") ? "&" : "?") + "callback=jre_callback"; settings.setUrl(url); if (settings.getTimeout() < 1) { settings.setTimeout(10000); } return getXhr(settings, false) .then(new Function() { public Object f(Object... args) { Response response = arguments(0); if (response.getText().matches(jsonpCbRexp)) { return GQ.create(response.getText().replaceFirst(jsonpCbRexp, "$1")); } else { return GQuery.Deferred().reject().promise(); } } }); }
} else { ret = GQ.getAjaxTransport().getXhr(settings) .then(new Function() { public Object f(Object... args) { Response response = arguments(0);