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

Side by Side Diff: pkg/http/README.md

Issue 810223002: Remove the http package from the repo. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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
OLDNEW
(Empty)
1 # http
2
3 A composable, Future-based library for making HTTP requests.
4
5 This package contains a set of high-level functions and classes that make it
6 easy to consume HTTP resources. It's platform-independent, and can be used on
7 both the command-line and the browser. Currently the global utility functions
8 are unsupported on the browser; see "Using on the Browser" below.
9
10 ## Using
11
12 The easiest way to use this library is via the top-level functions, although
13 they currently only work on platforms where `dart:io` is available. They allow
14 you to make individual HTTP requests with minimal hassle:
15
16 ```dart
17 import 'package:http/http.dart' as http;
18
19 var url = "http://example.com/whatsit/create";
20 http.post(url, body: {"name": "doodle", "color": "blue"})
21 .then((response) {
22 print("Response status: ${response.statusCode}");
23 print("Response body: ${response.body}");
24 });
25
26 http.read("http://example.com/foobar.txt").then(print);
27 ```
28
29 If you're making multiple requests to the same server, you can keep open a
30 persistent connection by using a [Client][] rather than making one-off requests.
31 If you do this, make sure to close the client when you're done:
32
33 ```dart
34 var client = new http.Client();
35 client.post(
36 "http://example.com/whatsit/create",
37 body: {"name": "doodle", "color": "blue"})
38 .then((response) => client.get(response.bodyFields['uri']))
39 .then((response) => print(response.body))
40 .whenComplete(client.close);
41 ```
42
43 You can also exert more fine-grained control over your requests and responses by
44 creating [Request][] or [StreamedRequest][] objects yourself and passing them to
45 [Client.send][].
46
47 [Request]: https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/http/ http.Request
48
49 [StreamedRequest]: https://api.dartlang.org/apidocs/channels/stable/dartdoc-view er/http/http.StreamedRequest
50
51 [Client.send]: https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/h ttp/http.Client#id_send
52
53 This package is designed to be composable. This makes it easy for external
54 libraries to work with one another to add behavior to it. Libraries wishing to
55 add behavior should create a subclass of [BaseClient][] that wraps another
56 [Client][] and adds the desired behavior:
57
58 [BaseClient]: https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/ht tp/http.BaseClient
59
60 [Client]: https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/http/h ttp.Client
61
62 ```dart
63 class UserAgentClient extends http.BaseClient {
64 final String userAgent;
65 final http.Client _inner;
66
67 UserAgentClient(this.userAgent, this._inner);
68
69 Future<StreamedResponse> send(BaseRequest request) {
70 request.headers['user-agent'] = userAgent;
71 return _inner.send(request);
72 }
73 }
74 ```
75
76 ## Using on the Browser
77
78 The HTTP library can be used on the browser via the [BrowserClient][] class in
79 `package:http/browser_client.dart`. This client translates requests into
80 XMLHttpRequests. For example:
81
82 ```dart
83 import 'package:http/browser_client.dart';
84 import 'package:http/http.dart' as http;
85
86 var client = new BrowserClient();
87 var url = "/whatsit/create";
88 client.post(url, body: {"name": "doodle", "color": "blue"})
89 .then((response) {
90 print("Response status: ${response.statusCode}");
91 print("Response body: ${response.body}");
92 });
93 ```
94
95 ## Filing issues
96
97 Please file issues for the http package at [http://dartbug.com/new][bugs].
98
99 [bugs]: http://dartbug.com/new
100 [docs]: https://api.dartlang.org/docs/channels/dev/latest/http.html
OLDNEW
« no previous file with comments | « pkg/http/LICENSE ('k') | pkg/http/lib/browser_client.dart » ('j') | pkg/pkg.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698