commit | 4a00ee271fc1c99af825d01aa2a7040aa970f79a | [log] [tgz] |
---|---|---|
author | nweiz@google.com <nweiz@google.com> | Wed Apr 02 20:58:47 2014 +0000 |
committer | nweiz@google.com <nweiz@google.com> | Wed Apr 02 20:58:47 2014 +0000 |
tree | 06d7bc66b1f830101e2bc769ada516a4728dd083 | |
parent | 3118e0df3ddeabe92a56513949e7937ca6fd6b6b [diff] |
Convert shelf to use the string_scanner package. This also adds support for [StringScanner.error], which produces a nicely-formatted scanning error. R=kevmoo@google.com Review URL: https://codereview.chromium.org//222843003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/shelf@34669 260f80e4-7a28-3924-810f-c04153c831b5
Shelf makes it easy to create and compose web servers and parts of web servers. How?
See example/example_server.dart
import 'package:shelf/shelf.dart' as shelf; import 'package:shelf/shelf_io.dart' as io; void main() { var handler = const shelf.Stack().addMiddleware(shelf.logRequests()) .addHandler(_echoRequest); io.serve(handler, 'localhost', 8080).then((server) { print('Serving at http://${server.address.host}:${server.port}'); }); } shelf.Response _echoRequest(shelf.Request request) { return new shelf.Response.ok('Request for "${request.pathInfo}"'); }