Example usage for com.google.gwt.xhr.client XMLHttpRequest getReadyState

List of usage examples for com.google.gwt.xhr.client XMLHttpRequest getReadyState

Introduction

In this page you can find the example usage for com.google.gwt.xhr.client XMLHttpRequest getReadyState.

Prototype

public abstract int getReadyState();

Source Link

Document

Get's the current ready-state

Usage

From source file:com.badlogic.gdx.backends.gwt.preloader.AssetDownloader.java

License:Apache License

public void loadText(String url, final AssetLoaderListener<String> listener) {
    XMLHttpRequest request = XMLHttpRequest.create();
    request.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override//from   w  w  w. j a v  a2 s .c  o  m
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                if (xhr.getStatus() != 200) {
                    listener.onFailure();
                } else {
                    listener.onSuccess(xhr.getResponseText());
                }
            }
        }
    });
    setOnProgress(request, listener);
    request.open("GET", url);
    request.setRequestHeader("Content-Type", "text/plain; charset=utf-8");
    request.send();
}

From source file:com.badlogic.gdx.backends.gwt.preloader.AssetDownloader.java

License:Apache License

public void loadBinary(final String url, final AssetLoaderListener<Blob> listener) {
    XMLHttpRequest request = XMLHttpRequest.create();
    request.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override//w  ww  . j av a2s  .co  m
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                if (xhr.getStatus() != 200) {
                    listener.onFailure();
                } else {
                    Int8Array data = TypedArrays.createInt8Array(xhr.getResponseArrayBuffer());
                    listener.onSuccess(new Blob(data));
                }
            }
        }
    });
    setOnProgress(request, listener);
    request.open("GET", url);
    request.setResponseType(ResponseType.ArrayBuffer);
    request.send();
}

From source file:com.badlogic.gdx.backends.gwt.preloader.BinaryLoader.java

License:Apache License

public BinaryLoader(String url, LoaderCallback<Blob> callback) {
    this.callback = callback;
    XMLHttpRequest request = XMLHttpRequest.create();
    request.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override/*from   w ww.  ja  v  a2s .  c o m*/
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == 4) {
                int status = xhr.getStatus();
                if (status != 200) {
                    BinaryLoader.this.callback.error();
                } else {
                    BinaryLoader.this.callback.success(new Blob(xhr.getResponseText()));
                }
            }
        }
    });
    overrideMimeType(request, "text/plain; charset=x-user-defined");
    request.open("GET", url);
    request.send();
}

From source file:com.cgxlib.xq.client.plugins.deferred.PromiseReqBuilder.java

License:Apache License

/**
 * Using this constructor we access to some things in the xmlHttpRequest
 * which are not available in GWT, like adding progress handles or sending
 * javascript data (like forms in modern html5 file api).
 *///w w w .j  av a  2 s.  co m
public PromiseReqBuilder(Settings settings) {
    String httpMethod = settings.getType();
    String url = settings.getUrl();
    IsProperties data = settings.getData();
    String ctype = settings.getContentType();
    Boolean isFormData = data != null && data.getDataImpl() instanceof JavaScriptObject
            && JsUtils.isFormData(data.<JavaScriptObject>getDataImpl());

    XMLHttpRequest xmlHttpRequest = XMLHttpRequest.create();
    try {
        if (settings.getUsername() != null && settings.getPassword() != null) {
            xmlHttpRequest.open(httpMethod, url, settings.getUsername(), settings.getPassword());
        } else if (settings.getUsername() != null) {
            xmlHttpRequest.open(httpMethod, url, settings.getUsername());
        } else {
            xmlHttpRequest.open(httpMethod, url);
        }
    } catch (JavaScriptException e) {
        RequestPermissionException requestPermissionException = new RequestPermissionException(url);
        requestPermissionException.initCause(new RequestException(e.getMessage()));
        onError(null, e);
        return;
    }

    JsUtils.prop(xmlHttpRequest, "onprogress", JsUtils.wrapFunction(new Function() {
        public void f() {
            JsCache p = arguments(0);
            double total = p.getDouble("total");
            double loaded = p.getDouble("loaded");
            double percent = loaded == 0 ? 0 : total == 0 ? 100 : (100 * loaded / total);
            dfd.notify(total, loaded, percent, "download");
        }
    }));

    JavaScriptObject upload = JsUtils.prop(xmlHttpRequest, "upload");
    JsUtils.prop(upload, "onprogress", JsUtils.wrapFunction(new Function() {
        public void f() {
            JsCache p = arguments(0);
            double total = p.getDouble("total");
            double loaded = p.getDouble("loaded");
            double percent = 100 * loaded / total;
            dfd.notify(total, loaded, percent, "upload");
        }
    }));

    IsProperties headers = settings.getHeaders();
    if (headers != null) {
        for (String headerKey : headers.getFieldNames()) {
            xmlHttpRequest.setRequestHeader(headerKey, String.valueOf(headers.get(headerKey)));
        }
    }

    if (data != null && !isFormData && !"GET".equalsIgnoreCase(httpMethod)) {
        xmlHttpRequest.setRequestHeader("Content-Type", ctype);
    }

    // Using xq to set credentials since this method was added in 2.5.1
    // xmlHttpRequest.setWithCredentials(true);
    JsUtils.prop(xmlHttpRequest, "withCredentials", settings.getWithCredentials());

    final Request request = createRequestVltr(xmlHttpRequest, settings.getTimeout(), this);

    xmlHttpRequest.setOnReadyStateChange(new ReadyStateChangeHandler() {
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                xhr.clearOnReadyStateChange();
                fireOnResponseReceivedVltr(request, PromiseReqBuilder.this);
            }
        }
    });

    try {
        JsUtils.runJavascriptFunction(xmlHttpRequest, "send",
                isFormData ? data.getDataImpl() : settings.getDataString());
    } catch (JavaScriptException e) {
        onError(null, e);
    }
}

From source file:com.codenvy.plugin.contribution.client.steps.GenerateReviewFactoryStep.java

License:Open Source License

private void saveFactory(final FormData formData, final AsyncCallback<Factory> callback) {
    final String requestUrl = apiTemplate.saveFactory();

    final XMLHttpRequest xhr = XMLHttpRequest.create();
    xhr.open(HTTPMethod.POST, requestUrl);
    xhr.setRequestHeader(ACCEPT, APPLICATION_JSON);
    xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {

        @Override/*  w  ww  . j  a  v a 2  s  .  c  o  m*/
        public void onReadyStateChange(final XMLHttpRequest request) {
            if (request.getReadyState() == XMLHttpRequest.DONE) {
                if (request.getStatus() == Response.SC_OK) {
                    request.clearOnReadyStateChange();
                    final String payLoad = request.getResponseText();
                    final Factory createdFactory = dtoFactory.createDtoFromJson(payLoad, Factory.class);

                    if (createdFactory.getId() == null || createdFactory.getId().isEmpty()) {
                        final ServiceError error = dtoFactory.createDtoFromJson(payLoad, ServiceError.class);
                        callback.onFailure(new Exception(error.getMessage()));
                    } else {
                        callback.onSuccess(createdFactory);
                    }
                } else {
                    final Response response = new ResponseImpl(request);
                    callback.onFailure(new ServerException(response));
                }
            }

        }
    });

    if (!sendFormData(xhr, formData)) {
        callback.onFailure(new Exception("Could not call service"));
    }
}

From source file:com.googlecode.gwtquake.client.GwtResourceLoaderImpl.java

License:Open Source License

public void loadResourceAsync(final String path, final ResourceLoader.Callback callback) {
    XMLHttpRequest req = XMLHttpRequest.create();

    final Exception e = new Exception();
    final int mySequenceNumber = freeSequenceNumber++;

    req.setOnReadyStateChange(new ReadyStateChangeHandler() {
        boolean receivingMsg;

        public void onReadyStateChange(final XMLHttpRequest xhr) {
            if (xhr.getReadyState() == 3 && !receivingMsg) {
                Com.Printf("Receiving #" + mySequenceNumber + ": " + path + "\n");
                receivingMsg = true;/*ww w  .ja va  2s.  c om*/
            } else if (xhr.getReadyState() == 4) {
                if (mySequenceNumber < ignoreSequenceNumbersBelow) {
                    Com.Printf("Ignoring outdated response #" + mySequenceNumber + ": " + path + "\n");
                } else {
                    String response;
                    if (xhr.getStatus() != 200) {
                        Com.Printf("Failed to load file #" + mySequenceNumber + ": " + path + " status: "
                                + xhr.getStatus() + "/" + xhr.getStatusText() + "\n");
                        ResourceLoader.fail(new IOException("status = " + xhr.getStatus()));
                        response = null;
                    } else {
                        response = xhr.getResponseText();
                        Com.Printf("Received response #" + mySequenceNumber + ": " + path + "\r");
                    }
                    readyList.add(0, new ResponseHandler(mySequenceNumber, callback, response));
                    if (mySequenceNumber == currentSequenceNumber) {
                        processReadyList();
                    }
                }
            }
        }
    });

    Com.Printf("Requesting: " + path + "\n");

    overrideMimeType(req, "text/plain; charset=x-user-defined");
    req.open("GET", "/baseq2/" + path);
    req.send();
}

From source file:com.gwtpro.html5.fileapi.client.upload.UploadRequestBuilder.java

License:Apache License

/**
 * Sends a POST request based to upload a file, on the current builder
 * configuration./*from  ww w  .  j ava2 s.c  om*/
 * 
 * @return a {@link UploadRequest} object that can be used to track the
 *         request
 * @throws RequestException
 *             if the call fails to initiate
 * @throws NullPointerException
 *             if a request callback has not been set
 */
public UploadRequest sendFile(File file) throws RequestException {
    if (this.callback == null) {
        throw new NullPointerException("callback has not been set");
    }
    XMLHttpRequest2 xmlHttpRequest = XMLHttpRequest2.create();
    final UploadRequest request = new UploadRequest(xmlHttpRequest, this.timeoutMillis, this.callback);
    // progress handler must be set before open!!!
    xmlHttpRequest.setOnUploadProgressHandler(new UploadProgressHandler() {

        @Override
        public void onProgress(int bytesUploaded) {
            UploadRequestBuilder.this.callback.onUploadProgress(request, bytesUploaded);
        }
    });
    try {
        if (this.user != null && this.password != null) {
            xmlHttpRequest.open("POST", this.url, this.user, this.password);
        } else if (this.user != null) {
            xmlHttpRequest.open("POST", this.url, this.user);
        } else {
            xmlHttpRequest.open("POST", this.url);
        }
    } catch (JavaScriptException e) {
        RequestPermissionException requestPermissionException = new RequestPermissionException(this.url);
        requestPermissionException.initCause(new RequestException(e.getMessage()));
        throw requestPermissionException;
    }
    if (this.headers != null) {
        for (Map.Entry<String, String> header : this.headers.entrySet()) {
            try {
                xmlHttpRequest.setRequestHeader(header.getKey(), header.getValue());
            } catch (JavaScriptException e) {
                throw new RequestException(e.getMessage());
            }
        }
    }
    xmlHttpRequest.setOnReadyStateChange(new ReadyStateChangeHandler() {

        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                xhr.clearOnReadyStateChange();
                request.fireOnResponseReceived(UploadRequestBuilder.this.callback);
            }
        }
    });
    try {
        xmlHttpRequest.sendFile(file);
    } catch (JavaScriptException e) {
        throw new RequestException(e.getMessage());
    }
    return request;
}

From source file:forplay.html.HtmlAssetManager.java

License:Apache License

private void doXhr(final String fullPath, final ResourceCallback<String> callback) {
    XMLHttpRequest xhr = XMLHttpRequest.create();
    xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override/*from  w  w  w  .j a va 2 s  .co m*/
        public void onReadyStateChange(XMLHttpRequest xhr) {
            int readyState = xhr.getReadyState();
            if (readyState == XMLHttpRequest.DONE) {
                int status = xhr.getStatus();
                // status code 0 will be returned for non-http requests, e.g. file://
                if (status != 0 && (status < 200 || status >= 400)) {
                    ForPlay.log().error("xhr::onReadyStateChange[" + fullPath + "](readyState = " + readyState
                            + "; status = " + status + ")");
                    callback.error(
                            new RuntimeException("Error getting " + fullPath + " : " + xhr.getStatusText()));
                } else {
                    if (LOG_XHR_SUCCESS) {
                        ForPlay.log().debug("xhr::onReadyStateChange[" + fullPath + "](readyState = "
                                + readyState + "; status = " + status + ")");
                    }
                    callback.done(xhr.getResponseText());
                }
            }
        }
    });

    if (LOG_XHR_SUCCESS) {
        ForPlay.log().debug("xhr.open('GET', '" + fullPath + "')...");
    }
    xhr.open("GET", fullPath);

    if (LOG_XHR_SUCCESS) {
        ForPlay.log().debug("xhr.send()...");
    }
    xhr.send();
}

From source file:forplay.html.HtmlNet.java

License:Apache License

public void get(String url, final Callback callback) {
    try {//from   ww  w  .  j  a  v a 2s  .co  m
        XMLHttpRequest xhr = XMLHttpRequest.create();
        xhr.open("GET", url);
        xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {
            @Override
            public void onReadyStateChange(XMLHttpRequest xhr) {
                if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                    if (xhr.getStatus() >= 400) {
                        callback.failure(new RuntimeException("Bad HTTP status code: " + xhr.getStatus()));
                    } else {
                        callback.success(xhr.getResponseText());
                    }
                }
            }
        });
        xhr.send();
    } catch (Exception e) {
        callback.failure(e);
    }
}

From source file:forplay.html.HtmlNet.java

License:Apache License

public void post(String url, String data, final Callback callback) {
    try {/*from   www .  j  a  v  a 2 s.co  m*/
        XMLHttpRequest xhr = XMLHttpRequest.create();
        xhr.open("POST", url);
        xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {
            @Override
            public void onReadyStateChange(XMLHttpRequest xhr) {
                if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                    if (xhr.getStatus() >= 400) {
                        callback.failure(new RuntimeException("Bad HTTP status code: " + xhr.getStatus()));
                    } else {
                        callback.success(xhr.getResponseText());
                    }
                }
            }
        });
        xhr.send(data);
    } catch (Exception e) {
        callback.failure(e);
    }
}