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

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

Issue 227563010: pkg/shelf: case-insensitive headers, cleaner Request ctor, a lot more tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fixing dependent code, changelog Created 6 years, 8 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 | « pkg/shelf/CHANGELOG.md ('k') | pkg/shelf/example/example_server.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ## Web Server Middleware for Dart 1 ## Web Server Middleware for Dart
2 2
3 ## Introduction 3 ## Introduction
4 4
5 **Shelf** makes it easy to create and compose **web servers** and **parts of web 5 **Shelf** makes it easy to create and compose **web servers** and **parts of web
6 servers**. How? 6 servers**. How?
7 7
8 * Expose a small set of simple types. 8 * Expose a small set of simple types.
9 * Map server logic into a simple function: a single argument for the request, 9 * Map server logic into a simple function: a single argument for the request,
10 the response is the return value. 10 the response is the return value.
(...skipping 11 matching lines...) Expand all
22 void main() { 22 void main() {
23 var handler = const shelf.Stack().addMiddleware(shelf.logRequests()) 23 var handler = const shelf.Stack().addMiddleware(shelf.logRequests())
24 .addHandler(_echoRequest); 24 .addHandler(_echoRequest);
25 25
26 io.serve(handler, 'localhost', 8080).then((server) { 26 io.serve(handler, 'localhost', 8080).then((server) {
27 print('Serving at http://${server.address.host}:${server.port}'); 27 print('Serving at http://${server.address.host}:${server.port}');
28 }); 28 });
29 } 29 }
30 30
31 shelf.Response _echoRequest(shelf.Request request) { 31 shelf.Response _echoRequest(shelf.Request request) {
32 return new shelf.Response.ok('Request for "${request.pathInfo}"'); 32 return new shelf.Response.ok('Request for "${request.url}"');
33 } 33 }
34 ``` 34 ```
35 35
36 ## Inspiration 36 ## Inspiration
37 37
38 * [Connect](http://www.senchalabs.org/connect/) for NodeJS. 38 * [Connect](http://www.senchalabs.org/connect/) for NodeJS.
39 * Read [this great write-up](http://howtonode.org/connect-it) to understand 39 * Read [this great write-up](http://howtonode.org/connect-it) to understand
40 the overall philosophy of all of these models. 40 the overall philosophy of all of these models.
41 * [Rack](http://rack.github.io/) for Ruby. 41 * [Rack](http://rack.github.io/) for Ruby.
42 * [WSGI](http://legacy.python.org/dev/peps/pep-3333/) for Python. 42 * [WSGI](http://legacy.python.org/dev/peps/pep-3333/) for Python.
OLDNEW
« no previous file with comments | « pkg/shelf/CHANGELOG.md ('k') | pkg/shelf/example/example_server.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698