Example usage for com.google.gwt.http.client RequestBuilder setTimeoutMillis

List of usage examples for com.google.gwt.http.client RequestBuilder setTimeoutMillis

Introduction

In this page you can find the example usage for com.google.gwt.http.client RequestBuilder setTimeoutMillis.

Prototype

public void setTimeoutMillis(int timeoutMillis) 

Source Link

Document

Sets the number of milliseconds to wait for a request to complete.

Usage

From source file:com.audata.client.json.JSONCall.java

License:Open Source License

public Request asyncPost2(String method, JSONArray params, RequestCallback handler) {
    String msg = this.getJSONMsg(method, params);
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, this.url + "WebService_JSON.php");
    Request request = null;/*from w  ww . j  av a 2  s .c om*/
    try {
        builder.setTimeoutMillis(this.timeout);
        request = builder.sendRequest(msg, handler);
    } catch (RequestException e) {
        SimpleDialog.displayDialog(SimpleDialog.TYPE_ERROR, "Error",
                "Unable to send request to server\n" + e.getMessage());
    }
    return request;
}

From source file:com.badlogic.gdx.backends.gwt.GwtNet.java

License:Apache License

@Override
public void sendHttpRequest(final HttpRequest httpRequest, final HttpResponseListener httpResultListener) {
    if (httpRequest.getUrl() == null) {
        httpResultListener.failed(new GdxRuntimeException("can't process a HTTP request without URL set"));
        return;/*from ww w .  j a v  a  2 s.  c  o m*/
    }

    final String method = httpRequest.getMethod();
    final String value = httpRequest.getContent();
    final boolean valueInBody = method.equalsIgnoreCase(HttpMethods.POST) || method.equals(HttpMethods.PUT);

    RequestBuilder builder;

    String url = httpRequest.getUrl();
    if (method.equalsIgnoreCase(HttpMethods.GET)) {
        if (value != null) {
            url += "?" + value;
        }
        builder = new RequestBuilder(RequestBuilder.GET, url);
    } else if (method.equalsIgnoreCase(HttpMethods.POST)) {
        builder = new RequestBuilder(RequestBuilder.POST, url);
    } else if (method.equalsIgnoreCase(HttpMethods.DELETE)) {
        if (value != null) {
            url += "?" + value;
        }
        builder = new RequestBuilder(RequestBuilder.DELETE, url);
    } else if (method.equalsIgnoreCase(HttpMethods.PUT)) {
        builder = new RequestBuilder(RequestBuilder.PUT, url);
    } else {
        throw new GdxRuntimeException("Unsupported HTTP Method");
    }

    Map<String, String> content = httpRequest.getHeaders();
    Set<String> keySet = content.keySet();
    for (String name : keySet) {
        builder.setHeader(name, content.get(name));
    }

    builder.setTimeoutMillis(httpRequest.getTimeOut());

    builder.setIncludeCredentials(httpRequest.getIncludeCredentials());

    try {
        Request request = builder.sendRequest(valueInBody ? value : null, new RequestCallback() {

            @Override
            public void onResponseReceived(Request request, Response response) {
                httpResultListener.handleHttpResponse(new HttpClientResponse(response));
                requests.remove(httpRequest);
                listeners.remove(httpRequest);
            }

            @Override
            public void onError(Request request, Throwable exception) {
                httpResultListener.failed(exception);
                requests.remove(httpRequest);
                listeners.remove(httpRequest);
            }
        });
        requests.put(httpRequest, request);
        listeners.put(httpRequest, httpResultListener);

    } catch (Throwable e) {
        httpResultListener.failed(e);
    }

}

From source file:com.brentryan.client.widgets.dialogs.AboutDialog.java

public AboutDialog() {

    aboutDialog.addButton(new Button("aboutOk", new ButtonConfig() {

        {//from   w ww . j  a  v a  2  s . c  o m
            setText(DIALOG_CONSTANTS.Ok());
            setButtonListener(new ButtonListenerAdapter() {

                public void onClick(Button button, EventObject e) {
                    aboutDialog.destroy(true);
                }
            });
        }
    }));

    RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, "License.html");
    rb.setTimeoutMillis(30000);

    try {
        rb.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
                aboutDialog.destroy(true);
                MessageBox.alert(DIALOG_CONSTANTS.ErrorTitle(), CONSTANTS.LicenseError());
            }

            public void onResponseReceived(Request request, Response response) {
                // add content to the center region
                BorderLayout layout = aboutDialog.getLayout();
                ContentPanel contentPanel = new ContentPanel();
                contentPanel.add(new HTML(response.getText()));
                layout.add(contentPanel);
                aboutDialog.show();
            }
        });
    } catch (RequestException e) {
        GWT.log("Error while retrieving BrentRyan license", e);
    }

    initWidget(aboutDialog);
}

From source file:com.calclab.emite.core.client.services.gwt.GWTConnector.java

License:Open Source License

public static void send(final String httpBase, final String request, final ConnectorCallback listener,
        final int timeoutMillis) throws ConnectorException {
    final RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, httpBase);
    builder.setHeader("Content-Type", "text/xml; charset=utf-8");
    builder.setHeader("Cache-Control", "no-cache");
    builder.setHeader("Pragma", "no-cache");

    if (timeoutMillis > 0) {
        builder.setTimeoutMillis(timeoutMillis);
    }/*from  www. j a v a 2 s  . c  o m*/

    // TODO : Hard coded timeout to 6s, but we should set it to the wait + a
    // delta
    // builder.setTimeoutMillis(6000);
    try {
        final Request req = builder.sendRequest(request, new RequestCallback() {
            @Override
            public void onError(final Request req, final Throwable throwable) {
                logger.severe("GWT CONNECTOR ERROR: " + throwable.getMessage());
                activeRequests.remove(req);
                listener.onError(request, throwable);
            }

            @Override
            public void onResponseReceived(final Request req, final Response res) {
                activeRequests.remove(req);
                listener.onResponseReceived(res.getStatusCode(), res.getText(), request);
            }
        });

        activeRequests.add(req);
    } catch (final RequestException e) {
        throw new ConnectorException(e.getMessage());
    } catch (final Exception e) {
        logger.severe("Some GWT connector exception: " + e.getMessage());
        throw new ConnectorException(e.getMessage());
    }
}

From source file:com.epam.feel.client.ui.util.gwtupload.FixedUploader.java

License:Apache License

public void update() {
    try {/* w  ww .j  a va 2s.co m*/
        if (waitingForResponse) {
            return;
        }
        waitingForResponse = true;
        // Using a reusable builder makes IE fail because it caches the response
        // So it's better to change the request path sending an additional random parameter
        RequestBuilder reqBuilder = new RequestBuilder(RequestBuilder.GET,
                composeURL("filename=" + fileInput.getName(), "c=" + requestsCounter++));
        reqBuilder.setTimeoutMillis(DEFAULT_AJAX_TIMEOUT);
        reqBuilder.sendRequest("get_status", onStatusReceivedCallback);
    } catch (RequestException e) {
        e.printStackTrace();
    }
}

From source file:com.epam.feel.client.ui.util.gwtupload.FixedUploader.java

License:Apache License

/**
 * Sends a request to the server in order to get the blobstore path. When the response with the session comes, it
 * submits the form./*  ww w .  ja  v a  2  s  . c  o  m*/
 */
private void sendAjaxRequestToGetBlobstorePath() throws RequestException {
    RequestBuilder reqBuilder = new RequestBuilder(RequestBuilder.GET, getServletPath());// composeURL("blobstore=true"));
    reqBuilder.setTimeoutMillis(DEFAULT_AJAX_TIMEOUT);
    reqBuilder.sendRequest("blobstore", onBlobstoreReceivedCallback);
}

From source file:com.epam.feel.client.ui.util.gwtupload.FixedUploader.java

License:Apache License

/**
 * Sends a request to the server in order to get the session cookie, when the response with the session comes, it
 * submits the form. This is needed because this client application usually is part of static files, and the server
 * doesn't set the session until dynamic pages are requested. If we submit the form without a session, the server
 * creates a new one and send a cookie in the response, but the response with the cookie comes to the client at the
 * end of the request, and in the meanwhile the client needs to know the session in order to ask the server for the
 * upload status./*from   w w w. j ava2s.  co  m*/
 */
private void sendAjaxRequestToValidateSession() throws RequestException {
    // Using a reusable builder makes IE fail
    RequestBuilder reqBuilder = new RequestBuilder(RequestBuilder.GET, composeURL("new_session=true"));
    reqBuilder.setTimeoutMillis(DEFAULT_AJAX_TIMEOUT);
    reqBuilder.sendRequest("create_session", onSessionReceivedCallback);
}

From source file:com.facebook.tsdb.tsdash.client.service.HTTPService.java

License:Apache License

private <T> void get(final AsyncCallback<T> callback, final String url, String params,
        final JSONDecoder<T> decoder) {
    RequestBuilder req = new RequestBuilder(RequestBuilder.GET, url + "?" + params);
    req.setTimeoutMillis(TIMEOUT);
    req.setCallback(new RequestCallback() {
        @Override//from   w  w  w . j a  va2 s.co m
        public void onResponseReceived(Request request, Response response) {
            try {
                T result = decoder.tryDecodeFromService(response.getText());
                callback.onSuccess(result);
            } catch (JSONParseException e) {
                GWT.log("Error parsing data from '" + url + "'", e);
                callback.onFailure(e);
            } catch (ServiceException e) {
                GWT.log("Error in remote service", e);
                callback.onFailure(e);
            }
        }

        @Override
        public void onError(Request request, Throwable e) {
            GWT.log("Error sending GET request to '" + url + "'", e);
            callback.onFailure(e);
        }
    });
    try {
        req.send();
    } catch (RequestException e) {
        GWT.log("Request exception for '" + url + "'", e);
        callback.onFailure(e);
    }
}

From source file:com.fredhat.gwt.xmlrpc.client.XmlRpcClient.java

License:Open Source License

/**
 * Executes an asynchronous XMLRPC call to the server with a specified username
 * and password.  If the execution was successful, the callback's {@link AsyncCallback#onSuccess(Object)} 
 * method will be invoked with the return value as the argument.  If the 
 * execution failed for any reason, the callback's {@link AsyncCallback#onFailure(Throwable)} method will 
 * be invoked with an instance of {@link XmlRpcException} instance as it's argument.
 * @param username the username for authentication
 * @param password the password for authentication
 * @param methodName the name of the XMLRPC method
 * @param params the parameters for the XMLRPC method
 * @param callback the logic implementation for handling the XMLRPC responses.
 * @deprecated As of XMLRPC-GWT v1.1,/*from   w  w w.  j  a  v  a  2s .  c  om*/
 * build an {@link XmlRpcRequest} then call {@link XmlRpcRequest#execute()}
 */
@SuppressWarnings("unchecked")
@Deprecated
public void execute(String username, String password, String methodName, Object[] params,
        final AsyncCallback callback) {
    if (methodName == null || methodName.equals("")) {
        callback.onFailure(new XmlRpcException("The method name parameter cannot be null"));
        return;
    }
    if (params == null)
        params = new Object[0];

    Document request = buildRequest(methodName, params);
    if (debugMessages)
        System.out.println("** Request **\n" + request + "\n*************");

    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, serverURL);
    requestBuilder.setHeader("Content-Type", "text/xml");
    requestBuilder.setTimeoutMillis(timeout);
    if (username != null)
        requestBuilder.setUser(username);
    if (password != null)
        requestBuilder.setPassword(password);

    try {
        requestBuilder.sendRequest(request.toString(), new RequestCallback() {
            public void onResponseReceived(Request req, Response res) {
                if (res.getStatusCode() != 200) {
                    callback.onFailure(new XmlRpcException("Server returned " + "response code "
                            + res.getStatusCode() + " - " + res.getStatusText()));
                    return;
                }
                Object responseObj = buildResponse(res.getText());
                if (responseObj instanceof XmlRpcException)
                    callback.onFailure((XmlRpcException) responseObj);
                else
                    callback.onSuccess(responseObj);
            }

            public void onError(Request req, Throwable t) {
                callback.onFailure(t);
            }
        });
    } catch (RequestException e) {
        callback.onFailure(new XmlRpcException("Couldn't make server request", e));
    }
}

From source file:com.fredhat.gwt.xmlrpc.client.XmlRpcRequest.java

License:Open Source License

/**
 * Invokes the XML-RPC method asynchronously.  All success and failure logic will
 * be in your {@link AsyncCallback} that you defined in the constructor.
 *///from   w  w  w.j a  v  a 2 s.  co  m
public void execute() {
    if (methodName == null || methodName.equals("")) {
        callback.onFailure(new XmlRpcException("The method name parameter cannot be null"));
        return;
    }

    if (params == null)
        params = new Object[] {};

    Document request = buildRequest(methodName, params);
    if (client.getDebugMode())
        System.out.println("** Request **\n" + request + "\n*************");

    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, client.getServerURL());
    requestBuilder.setHeader("Content-Type", "text/xml");

    //Ak existuje cookie posli ju v hlavicke
    if (Cookies.getCookie("sessionID") != null) {
        requestBuilder.setHeader("sessionID", Cookies.getCookie("sessionID"));
    }

    requestBuilder.setTimeoutMillis(client.getTimeoutMillis());
    if (client.getUsername() != null)
        requestBuilder.setUser(client.getUsername());
    if (client.getPassword() != null)
        requestBuilder.setPassword(client.getPassword());

    try {

        requestBuilder.sendRequest(request.toString(), new RequestCallback() {
            public void onResponseReceived(Request req, Response res) {
                if (res.getStatusCode() != 200) {
                    callback.onFailure(new XmlRpcException("Server returned " + "response code "
                            + res.getStatusCode() + " - " + res.getStatusText()));
                    return;
                }
                try {
                    T responseObj = buildResponse(res.getText());
                    callback.onSuccess(responseObj);

                } catch (XmlRpcException e) {
                    callback.onFailure(e);
                } catch (ClassCastException e) {
                    callback.onFailure(e);
                }
            }

            public void onError(Request req, Throwable t) {
                callback.onFailure(t);
            }
        });
    } catch (RequestException e) {
        callback.onFailure(new XmlRpcException("Couldn't make server request.  Are you violating the "
                + "Same Origin Policy?  Error: " + e.getMessage(), e));
    }
}