| /* |
| * Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| * for details. All rights reserved. Use of this source code is governed by a |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| /** |
| * @assertion static Future<HttpRequest> request(String url, {String method, |
| * bool withCredentials, String responseType, String mimeType, |
| * Map<String, String> requestHeaders, sendData, Function onProgress}) |
| * Creates and sends a URL request for the specified url. |
| * By default request will perform an HTTP GET request, but a different method |
| * (POST, PUT, DELETE, etc) can be used by specifying the method parameter. |
| * The Future is completed when the response is available. |
| * If specified, sendData will send data in the form of a ByteBuffer, Blob, |
| * Document, String, or FormData along with the HttpRequest. |
| * The withCredentials parameter specified that credentials such as a cookie |
| * (already) set in the header or authorization headers should be specified |
| * for the request. Details to keep in mind when using credentials: |
| * Using credentials is only useful for cross-origin requests. |
| * The Access-Control-Allow-Origin header of url cannot contain a wildcard (*). |
| * The Access-Control-Allow-Credentials header of url must be set to true. |
| * If Access-Control-Expose-Headers has not been set to true, only a subset |
| * of all the response headers will be returned when calling getAllRequestHeaders. |
| * @description Checks that the method works with "GET". |
| */ |
| import "dart:html"; |
| import "dart:async"; |
| import "../../../Utils/expect.dart"; |
| import "../testcommon.dart"; |
| |
| main() { |
| asyncStart(); |
| var port = crossOriginPort; |
| var host = '${window.location.protocol}//${window.location.hostname}:$port'; |
| var url = '$host/root_dart/tests/co19/src/LibTest/html/xhr_cross_origin_data.txt'; |
| Future<HttpRequest> f = |
| HttpRequest.request(url, method: "GET", onProgress: (event) { |
| Expect.equals("progress", event.type, "stream.listen.onData"); |
| }); |
| f.then((HttpRequest r) { |
| Expect.isNotNull(r.responseText?.length); |
| Expect.isTrue(r.responseText!.length > 0); |
| asyncEnd(); |
| }, onError: (Object error) { |
| Expect.fail("request.onLoad.listen:onError($error)"); |
| }); |
| } |