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

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

Introduction

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

Prototype

public void open(String httpMethod, String url) 

Source Link

Document

Opens an asynchronous connection.

Usage

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//  w w w.j ava  2  s .c  o 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   w w  w  . j a v  a  2  s  . c om
        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 ww  w.  j  a va2 s  .  c o 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);
    }
}

From source file:io.reinert.requestor.RequestDispatcherImpl.java

License:Apache License

@Override
protected <D> void send(RequestOrder request, final Deferred<D> deferred, Class<D> resolveType,
        @Nullable Class<?> parametrizedType) {
    final HttpMethod httpMethod = request.getMethod();
    final String url = request.getUrl();
    final Headers headers = request.getHeaders();
    final Payload payload = request.getPayload();
    final ResponseType responseType = request.getResponseType();

    // Create XMLHttpRequest
    final XMLHttpRequest xmlHttpRequest = (XMLHttpRequest) XMLHttpRequest.create();

    // Open XMLHttpRequest
    try {//from  w  ww .  ja  va  2  s.  co  m
        xmlHttpRequest.open(httpMethod.getValue(), url);
    } catch (JavaScriptException e) {
        RequestPermissionException requestPermissionException = new RequestPermissionException(url);
        requestPermissionException.initCause(new RequestException(e.getMessage()));
        deferred.reject(requestPermissionException);
        return;
    }

    // Set withCredentials
    xmlHttpRequest.setWithCredentials(request.isWithCredentials());

    // Fulfill headers
    try {
        setHeaders(headers, xmlHttpRequest);
    } catch (JavaScriptException e) {
        deferred.reject(new RequestException("Could not manipulate the XHR headers: " + e.getMessage()));
        return;
    }

    // Set responseType
    xmlHttpRequest.setResponseType(responseType.getValue());

    // Create RequestCallback
    final RequestCallback callback = getRequestCallback(request, xmlHttpRequest, deferred, resolveType,
            parametrizedType);

    // Create the underlying request from gwt.http module
    final com.google.gwt.http.client.Request gwtRequest = new com.google.gwt.http.client.Request(xmlHttpRequest,
            request.getTimeout(), callback);

    // Properly configure XMLHttpRequest's onreadystatechange
    xmlHttpRequest.setOnReadyStateChange(new ReadyStateChangeHandler() {
        public void onReadyStateChange(com.google.gwt.xhr.client.XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                xhr.clearOnReadyStateChange();
                ((XMLHttpRequest) xhr).clearOnProgress();
                gwtRequest.fireOnResponseReceived(callback);
            }
        }
    });

    // Set XMLHttpRequest's onprogress if available binding to promise's progress
    xmlHttpRequest.setOnProgress(new ProgressHandler() {
        @Override
        public void onProgress(ProgressEvent progress) {
            deferred.notifyDownload(new RequestProgressImpl(progress));
        }
    });

    // Set XMLHttpRequest's upload onprogress if available binding to promise's progress
    xmlHttpRequest.setUploadOnProgress(new ProgressHandler() {
        @Override
        public void onProgress(ProgressEvent progress) {
            deferred.notifyUpload(new RequestProgressImpl(progress));
        }
    });

    // Pass the connection to the deferred to enable it to cancel the request if necessary (RECOMMENDED)
    deferred.setHttpConnection(getConnection(gwtRequest));

    // Send the request
    try {
        if (payload != null) {
            if (payload.isString() != null) {
                xmlHttpRequest.send(payload.isString());
            } else {
                xmlHttpRequest.send(payload.isJavaScriptObject());
            }
        } else {
            xmlHttpRequest.send();
        }
    } catch (JavaScriptException e) {
        deferred.reject(new RequestDispatchException("Could not send the XHR: " + e.getMessage()));
    }
}

From source file:jake2.gwt.client.GwtResourceLoaderImpl.java

License:Open Source License

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

    final String eol = path.endsWith(".bsp") ? "\n" : "\r";

    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 + eol);
                receivingMsg = true;/*from ww w  .j  a  v  a  2s .  co m*/
            } 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 #" + currentSequenceNumber + "\n");
                        Compatibility.printStackTrace(e);
                        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 + eol);

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

From source file:net.npe.gwt.xhr.client.ArrayBufferRequest.java

License:MIT License

public ArrayBufferRequest(String url, final Handler handler) {
    xhr = XMLHttpRequest.create();// w  w  w.ja v a  2 s.com
    xhr.setResponseType(ResponseType.ArrayBuffer);
    xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                if (xhr.getStatus() >= 400) {
                    if (handler != null)
                        handler.onFailure();
                } else {
                    if (handler != null)
                        handler.onSuccess(xhr.getResponseArrayBuffer());
                }
            }
        }
    });
    xhr.open("GET", url);
}

From source file:net.npe.image.util.gwt.GwtImageReader.java

License:MIT License

public static void read(final String url, final PixelImageRequestHandler handler) {
    XMLHttpRequest xhr = XMLHttpRequest.create();
    xhr.setResponseType(ResponseType.ArrayBuffer);
    xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override/*w  w w .  j  av a 2 s. c  om*/
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                if (xhr.getStatus() >= 400) {
                    handler.onFailure(xhr.getStatusText());
                } else {
                    ImageType type = ImageReader.getImageType(url);
                    if (type != null) {
                        ArrayBuffer arrayBuffer = xhr.getResponseArrayBuffer();
                        try {
                            PixelImage image = read(arrayBuffer, type);
                            handler.onSuccess(image);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    } else {
                        handler.onFailure("Unsupport image format: " + url);
                    }
                }
            }
        }
    });
    xhr.open("GET", url);
}

From source file:net.npe.image.util.gwt.GwtImageReader.java

License:MIT License

public static void createCanvas(final String url, final CanvasRequestHandler handler) {
    XMLHttpRequest xhr = XMLHttpRequest.create();
    xhr.setResponseType(ResponseType.ArrayBuffer);
    xhr.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override/*from  ww w.  java 2 s.co  m*/
        public void onReadyStateChange(XMLHttpRequest xhr) {
            if (xhr.getReadyState() == XMLHttpRequest.DONE) {
                if (xhr.getStatus() >= 400) {
                    handler.onFailure(xhr.getStatusText());
                } else {
                    ImageType type = ImageReader.getImageType(url);
                    if (type != null) {
                        ArrayBuffer arrayBuffer = xhr.getResponseArrayBuffer();
                        try {
                            Canvas canvas = createCanvas(arrayBuffer, type);
                            handler.onSuccess(canvas);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    } else {
                        handler.onFailure("Unsupport image format: " + url);
                    }
                }
            }
        }
    });
    xhr.open("GET", url);
}

From source file:org.parallax3d.parallax.platforms.gwt.preloader.AssetDownloader.java

License:Apache License

public void loadText(String url, final FileListener<String> listener) {
    XMLHttpRequest request = XMLHttpRequest.create();
    request.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override/*from  w  w w . j av  a 2s. 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:org.parallax3d.parallax.platforms.gwt.preloader.AssetDownloader.java

License:Apache License

public void loadBinary(final String url, final FileListener<Blob> listener) {
    XMLHttpRequest request = XMLHttpRequest.create();
    request.setOnReadyStateChange(new ReadyStateChangeHandler() {
        @Override//from w  ww.j a v  a  2  s  .  c  o  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();
}