| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of html; | 5 part of html; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * A utility for retrieving data from a URL. | 8 * A utility for retrieving data from a URL. |
| 9 * | 9 * |
| 10 * HttpRequest can be used to obtain data from http, ftp, and file | 10 * HttpRequest can be used to obtain data from http, ftp, and file |
| 11 * protocols. | 11 * protocols. |
| 12 * | 12 * |
| 13 * For example, suppose we're developing these API docs, and we | 13 * For example, suppose we're developing these API docs, and we |
| 14 * wish to retrieve the HTML of the top-level page and print it out. | 14 * wish to retrieve the HTML of the top-level page and print it out. |
| 15 * The easiest way to do that would be: | 15 * The easiest way to do that would be: |
| 16 * | 16 * |
| 17 * var httpRequest = HttpRequest.get('http://api.dartlang.org', | 17 * var httpRequest = HttpRequest.get('http://api.dartlang.org', |
| 18 * (request) => print(request.responseText)); | 18 * (request) => print(request.responseText)); |
| 19 * | 19 * |
| 20 * **Important**: With the default behavior of this class, your | 20 * **Important**: With the default behavior of this class, your |
| 21 * code making the request should be served from the same origin (domain name, | 21 * code making the request should be served from the same origin (domain name, |
| 22 * port, and application layer protocol) as the URL you are trying to access | 22 * port, and application layer protocol) as the URL you are trying to access |
| 23 * with HttpRequest. However, there are ways to | 23 * with HttpRequest. However, there are ways to |
| 24 * [get around this restriction](http://www.dartlang.org/articles/json-web-servi
ce/#note-on-jsonp). | 24 * [get around this restriction](http://www.dartlang.org/articles/json-web-servi
ce/#note-on-jsonp). |
| 25 * | 25 * |
| 26 * See also: | 26 * See also: |
| 27 * | 27 * |
| 28 * * [Dart article on using HttpRequests](http://www.dartlang.org/articles/json-
web-service/#getting-data) | 28 * * [Dart article on using HttpRequests](http://www.dartlang.org/articles/json-
web-service/#getting-data) |
| 29 * * [JS XMLHttpRequest](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpReq
uest) | 29 * * [JS XMLHttpRequest](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpReq
uest) |
| 30 * * [Using XMLHttpRequest](https://developer.mozilla.org/en-US/docs/DOM/XMLHttp
Request/Using_XMLHttpRequest) | 30 * * [Using XMLHttpRequest](https://developer.mozilla.org/en-US/docs/DOM/XMLHttp
Request/Using_XMLHttpRequest) |
| 31 */ | 31 */ |
| 32 @DomName('XMLHttpRequest') | 32 $(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
| 33 class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { | |
| 34 /** | 33 /** |
| 35 * Creates a URL get request for the specified `url`. | 34 * Creates a URL get request for the specified `url`. |
| 36 * | 35 * |
| 37 * After completing the request, the object will call the user-provided | 36 * After completing the request, the object will call the user-provided |
| 38 * [onComplete] callback. | 37 * [onComplete] callback. |
| 39 */ | 38 */ |
| 40 factory $CLASSNAME.get(String url, onComplete($CLASSNAME request)) => | 39 factory $CLASSNAME.get(String url, onComplete($CLASSNAME request)) => |
| 41 _HttpRequestUtils.get(url, onComplete, false); | 40 _HttpRequestUtils.get(url, onComplete, false); |
| 42 | 41 |
| 43 // 80 char issue for comments in lists: dartbug.com/7588. | 42 // 80 char issue for comments in lists: dartbug.com/7588. |
| 44 /** | 43 /** |
| 45 * Creates a URL GET request for the specified `url` with | 44 * Creates a URL GET request for the specified `url` with |
| 46 * credentials such a cookie (already) set in the header or | 45 * credentials such a cookie (already) set in the header or |
| 47 * [authorization headers](http://tools.ietf.org/html/rfc1945#section-10.2). | 46 * [authorization headers](http://tools.ietf.org/html/rfc1945#section-10.2). |
| 48 * | 47 * |
| 49 * After completing the request, the object will call the user-provided | 48 * After completing the request, the object will call the user-provided |
| 50 * [onComplete] callback. | 49 * [onComplete] callback. |
| 51 * | 50 * |
| 52 * A few other details to keep in mind when using credentials: | 51 * A few other details to keep in mind when using credentials: |
| 53 * | 52 * |
| 54 * * Using credentials is only useful for cross-origin requests. | 53 * * Using credentials is only useful for cross-origin requests. |
| 55 * * The `Access-Control-Allow-Origin` header of `url` cannot contain a wildca
rd (*). | 54 * * The `Access-Control-Allow-Origin` header of `url` cannot contain a wildca
rd (*). |
| 56 * * The `Access-Control-Allow-Credentials` header of `url` must be set to tru
e. | 55 * * The `Access-Control-Allow-Credentials` header of `url` must be set to tru
e. |
| 57 * * If `Access-Control-Expose-Headers` has not been set to true, only a subse
t of all the response headers will be returned when calling [getAllRequestHeader
s]. | 56 * * If `Access-Control-Expose-Headers` has not been set to true, only a subse
t of all the response headers will be returned when calling [getAllRequestHeader
s]. |
| 58 * | 57 * |
| 59 * See also: [authorization headers](http://en.wikipedia.org/wiki/Basic_access
_authentication). | 58 * See also: [authorization headers](http://en.wikipedia.org/wiki/Basic_access
_authentication). |
| 60 */ | 59 */ |
| 61 factory $CLASSNAME.getWithCredentials(String url, | 60 factory $CLASSNAME.getWithCredentials(String url, |
| 62 onComplete($CLASSNAME request)) => | 61 onComplete($CLASSNAME request)) => |
| 63 _HttpRequestUtils.get(url, onComplete, true); | 62 _HttpRequestUtils.get(url, onComplete, true); |
| 64 | 63 |
| 65 $!MEMBERS | 64 $!MEMBERS |
| 66 } | 65 } |
| OLD | NEW |