public static void performLogin(final AsyncCallback<Boolean> callback) { // let's only login if we are not actually logged in try { final String url = GWT.getHostPageBaseURL() + "api/mantle/isAuthenticated"; // $NON-NLS-1$ RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url); requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); requestBuilder.setHeader("accept", "text/plain"); requestBuilder.sendRequest( null, new RequestCallback() { public void onError(Request request, Throwable caught) { MantleLoginDialog dialog = new MantleLoginDialog(callback, false); dialog.show(); } public void onResponseReceived(Request request, Response response) { if (!"true".equalsIgnoreCase(response.getText())) { MantleLoginDialog dialog = new MantleLoginDialog(callback, false); dialog.show(); } } }); } catch (RequestException e) { MantleLoginDialog dialog = new MantleLoginDialog(callback, false); dialog.show(); } }