Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(893)

Side by Side Diff: sdk/lib/io/http.dart

Issue 23135017: Edited docs for dart:io HttpRequest (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code units -> bytes Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 dart.io; 5 part of dart.io;
6 6
7 /** 7 /**
8 * HTTP status codes. 8 * HTTP status codes.
9 */ 9 */
10 abstract class HttpStatus { 10 abstract class HttpStatus {
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 /** 689 /**
690 * Returns the formatted string representation of the cookie. The 690 * Returns the formatted string representation of the cookie. The
691 * string representation can be used for for setting the Cookie or 691 * string representation can be used for for setting the Cookie or
692 * 'set-cookie' headers 692 * 'set-cookie' headers
693 */ 693 */
694 String toString(); 694 String toString();
695 } 695 }
696 696
697 697
698 /** 698 /**
699 * Http request delivered to the HTTP server callback. The [HttpRequest] is a 699 * A server-side object
700 * [Stream] of the body content of the request. Listen to the body to handle the 700 * that contains the content of and information about an HTTP request.
701 *
702 * __Note__: Check out the
703 * [http_server](http://pub.dartlang.org/packages/http_server)
704 * package, which makes working with the low-level
705 * dart:io HTTP server subsystem easier.
706 *
707 * HttpRequest objects are generated by an [HttpServer],
708 * which listens for HTTP requests on a specific host and port.
709 * For each request received, the HttpServer, which is a [Stream],
710 * generates an HttpRequest object and adds it to the stream.
711 *
712 * An HttpRequest object delivers the body content of the request
713 * as a stream of bytes.
714 * The object also contains information about the request,
715 * such as the method, URI, and headers.
716 *
717 * In the following code, an HttpServer listens
718 * for HTTP requests and, within the callback function,
719 * uses the HttpRequest object's `method` property to dispatch requests.
720 *
721 * final HOST = InternetAddress.LOOPBACK_IP_V4;
722 * final PORT = 4040;
723 *
724 * HttpServer.bind(HOST, PORT).then((_server) {
725 * _server.listen((HttpRequest request) {
726 * switch (request.method) {
727 * case 'GET':
728 * handleGetRequest(request);
729 * break;
730 * case 'POST':
731 * ...
732 * }
733 * },
734 * onError: handleError); // listen() failed.
735 * }).catchError(handleError);
736 *
737 * Listen to the HttpRequest stream to handle the
701 * data and be notified once the entire body is received. 738 * data and be notified once the entire body is received.
739 * An HttpRequest object contains an [HttpResponse] object,
740 * to which the server can write its response.
741 * For example, here's a skeletal callback function
742 * that responds to a request:
743 *
744 * void handleGetRequest(HttpRequest req) {
745 * HttpResponse res = req.response;
746 * var body = [];
747 * req.listen((List<int> buffer) => body.add(buffer),
748 * onDone: () {
749 * res.write('Received ${body.length} for request ');
750 * res.write(' ${req.method}: ${req.uri.path}');
751 * res.close();
752 * },
753 * onError: handleError);
754 * }
702 */ 755 */
703 abstract class HttpRequest implements Stream<List<int>> { 756 abstract class HttpRequest implements Stream<List<int>> {
704 /** 757 /**
705 * Returns the content length of the request body. If the size of 758 * The content length of the request body (read-only).
706 * the request body is not known in advance this -1. 759 *
760 * If the size of the request body is not known in advance,
761 * this value is -1.
707 */ 762 */
708 int get contentLength; 763 int get contentLength;
709 764
710 /** 765 /**
711 * Returns the method for the request. 766 * The method, such as 'GET' or 'POST', for the request (read-only).
712 */ 767 */
713 String get method; 768 String get method;
714 769
715 /** 770 /**
716 * Returns the URI for the request. This provides access to the 771 * The URI for the request (read-only).
717 * path, query string and fragment identifier for the request. 772 *
773 * This provides access to the
774 * path, query string, and fragment identifier for the request.
718 */ 775 */
719 Uri get uri; 776 Uri get uri;
720 777
721 /** 778 /**
722 * Returns the request headers. 779 * The request headers (read-only).
723 */ 780 */
724 HttpHeaders get headers; 781 HttpHeaders get headers;
725 782
726 /** 783 /**
727 * Returns the cookies in the request (from the Cookie headers). 784 * The cookies in the request, from the Cookie headers (read-only).
728 */ 785 */
729 List<Cookie> get cookies; 786 List<Cookie> get cookies;
730 787
731 /** 788 /**
732 * Returns the persistent connection state signaled by the client. 789 * The persistent connection state signaled by the client (read-only).
733 */ 790 */
734 bool get persistentConnection; 791 bool get persistentConnection;
735 792
736 /** 793 /**
737 * Returns the client certificate of the client making the request. 794 * The client certificate of the client making the request (read-only).
738 * Returns null if the connection is not a secure TLS or SSL connection, 795 *
796 * This value is null if the connection is not a secure TLS or SSL connection,
739 * or if the server does not request a client certificate, or if the client 797 * or if the server does not request a client certificate, or if the client
740 * does not provide one. 798 * does not provide one.
741 */ 799 */
742 X509Certificate get certificate; 800 X509Certificate get certificate;
743 801
744 /** 802 /**
745 * Gets the session for the given request. If the session is 803 * The session for the given request (read-only).
746 * being initialized by this call, [:isNew:] will be true for the returned 804 *
805 * If the session is
806 * being initialized by this call, [:isNew:] is true for the returned
747 * session. 807 * session.
748 * See [HttpServer.sessionTimeout] on how to change default timeout. 808 * See [HttpServer.sessionTimeout] on how to change default timeout.
749 */ 809 */
750 HttpSession get session; 810 HttpSession get session;
751 811
752 /** 812 /**
753 * Returns the HTTP protocol version used in the request. This will 813 * The HTTP protocol version used in the request,
754 * be "1.0" or "1.1". 814 * either "1.0" or "1.1" (read-only).
755 */ 815 */
756 String get protocolVersion; 816 String get protocolVersion;
757 817
758 /** 818 /**
759 * Gets information about the client connection. Returns [null] if the socket 819 * Information about the client connection (read-only).
760 * is not available. 820 *
821 * Returns [null] if the socket is not available.
761 */ 822 */
762 HttpConnectionInfo get connectionInfo; 823 HttpConnectionInfo get connectionInfo;
763 824
764 /** 825 /**
765 * Gets the [HttpResponse] object, used for sending back the response to the 826 * The [HttpResponse] object, used for sending back the response to the
766 * client. 827 * client (read-only).
767 * 828 *
768 * If the [contentLength] of the body isn't 0, and the body isn't being read, 829 * If the [contentLength] of the body isn't 0, and the body isn't being read,
769 * any write calls on the [HttpResponse] will automatically drain the request 830 * any write calls on the [HttpResponse] automatically drain the request
770 * body. 831 * body.
771 */ 832 */
772 HttpResponse get response; 833 HttpResponse get response;
773 } 834 }
774 835
775 836
776 /** 837 /**
777 * An [HttpResponse] represents the headers and data to be returned to 838 * An [HttpResponse] represents the headers and data to be returned to
778 * a client in response to an HTTP request. 839 * a client in response to an HTTP request.
779 * 840 *
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 final String message; 1583 final String message;
1523 final List<RedirectInfo> redirects; 1584 final List<RedirectInfo> redirects;
1524 1585
1525 const RedirectException(String this.message, 1586 const RedirectException(String this.message,
1526 List<RedirectInfo> this.redirects); 1587 List<RedirectInfo> this.redirects);
1527 1588
1528 String toString() => "RedirectException: $message"; 1589 String toString() => "RedirectException: $message";
1529 1590
1530 Uri get uri => redirects.last.location; 1591 Uri get uri => redirects.last.location;
1531 } 1592 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698