Update Dart SDK constants to non-deprecated names
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 42148b9..8a3240c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 * Fix constant evaluation analyzer error in `shelf_unmodifiable_map.dart`.
 
+* Update usage of HTTP constants from the Dart SDK. Now require 2.0.0-dev.61.
+
 ## 0.7.3+1
 
 * Updated SDK version to 2.0.0-dev.55.0.
diff --git a/lib/shelf_io.dart b/lib/shelf_io.dart
index cf457be..956e7ff 100644
--- a/lib/shelf_io.dart
+++ b/lib/shelf_io.dart
@@ -125,7 +125,7 @@
   });
 
   // Remove the Transfer-Encoding header per the adapter requirements.
-  headers.remove(HttpHeaders.TRANSFER_ENCODING);
+  headers.remove(HttpHeaders.transferEncodingHeader);
 
   void onHijack(void callback(StreamChannel<List<int>> channel)) {
     request.response
@@ -167,7 +167,7 @@
     // TODO(nweiz): Do this more cleanly when sdk#27886 is fixed.
     response =
         response.change(body: chunkedCoding.decoder.bind(response.read()));
-    httpResponse.headers.set(HttpHeaders.TRANSFER_ENCODING, 'chunked');
+    httpResponse.headers.set(HttpHeaders.transferEncodingHeader, 'chunked');
   } else if (response.statusCode >= 200 &&
       response.statusCode != 204 &&
       response.statusCode != 304 &&
@@ -175,14 +175,14 @@
       response.mimeType != 'multipart/byteranges') {
     // If the response isn't chunked yet and there's no other way to tell its
     // length, enable `dart:io`'s chunked encoding.
-    httpResponse.headers.set(HttpHeaders.TRANSFER_ENCODING, 'chunked');
+    httpResponse.headers.set(HttpHeaders.transferEncodingHeader, 'chunked');
   }
 
-  if (!response.headers.containsKey(HttpHeaders.SERVER)) {
-    httpResponse.headers.set(HttpHeaders.SERVER, 'dart:io with Shelf');
+  if (!response.headers.containsKey(HttpHeaders.serverHeader)) {
+    httpResponse.headers.set(HttpHeaders.serverHeader, 'dart:io with Shelf');
   }
 
-  if (!response.headers.containsKey(HttpHeaders.DATE)) {
+  if (!response.headers.containsKey(HttpHeaders.dateHeader)) {
     httpResponse.headers.date = new DateTime.now().toUtc();
   }
 
diff --git a/pubspec.yaml b/pubspec.yaml
index bb6a2ef..1bda146 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,7 +4,7 @@
 description: Web Server Middleware for Dart
 homepage: https://github.com/dart-lang/shelf
 environment:
-  sdk: '>=2.0.0-dev.55.0 <2.0.0'
+  sdk: '>=2.0.0-dev.61.0 <2.0.0'
 dependencies:
   async: '>=1.10.0 <3.0.0'
   collection: '^1.5.0'
diff --git a/test/shelf_io_test.dart b/test/shelf_io_test.dart
index 0414ea4..49c691d 100644
--- a/test/shelf_io_test.dart
+++ b/test/shelf_io_test.dart
@@ -30,7 +30,7 @@
     await _scheduleServer(syncHandler);
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.body, 'Hello from /');
   });
 
@@ -38,7 +38,7 @@
     await _scheduleServer(asyncHandler);
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.body, 'Hello from /');
   });
 
@@ -46,7 +46,7 @@
     await _scheduleServer((request) => null);
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR);
+    expect(response.statusCode, HttpStatus.internalServerError);
     expect(response.body, 'Internal Server Error');
   });
 
@@ -54,7 +54,7 @@
     await _scheduleServer((request) => new Future.value(null));
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR);
+    expect(response.statusCode, HttpStatus.internalServerError);
     expect(response.body, 'Internal Server Error');
   });
 
@@ -64,7 +64,7 @@
     });
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR);
+    expect(response.statusCode, HttpStatus.internalServerError);
     expect(response.body, 'Internal Server Error');
   });
 
@@ -74,7 +74,7 @@
     });
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR);
+    expect(response.statusCode, HttpStatus.internalServerError);
     expect(response.body, 'Internal Server Error');
   });
 
@@ -98,7 +98,7 @@
     });
 
     var response = await http.get('http://localhost:$_serverPort$path');
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.body, 'Hello from /foo/bar');
   });
 
@@ -106,7 +106,8 @@
     await _scheduleServer(expectAsync1((request) {
       expect(request.contentLength, isNull);
       expect(request.method, 'POST');
-      expect(request.headers, isNot(contains(HttpHeaders.TRANSFER_ENCODING)));
+      expect(
+          request.headers, isNot(contains(HttpHeaders.transferEncodingHeader)));
       expect(
           request.read().toList(),
           completion(equals([
@@ -121,7 +122,7 @@
     request.sink.close();
 
     var response = await request.send();
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
   });
 
   test('custom response headers are received by the client', () async {
@@ -131,7 +132,7 @@
     });
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.headers['test-header'], 'test-value');
     expect(response.body, 'Hello from /');
   });
@@ -162,7 +163,7 @@
     };
 
     var response = await _get(headers: headers);
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.body, 'Hello from /');
   });
 
@@ -179,7 +180,7 @@
     });
 
     var response = await _post();
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.stream.bytesToString(), completion('Hello from /'));
   });
 
@@ -196,7 +197,7 @@
     });
 
     var response = await _post(body: 'test body');
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.stream.bytesToString(), completion('Hello from /'));
   });
 
@@ -218,7 +219,7 @@
     });
 
     var response = await _post(body: "Hello");
-    expect(response.statusCode, HttpStatus.NOT_FOUND);
+    expect(response.statusCode, HttpStatus.notFound);
     expect(response.headers["date"], "Mon, 23 May 2005 22:38:34 GMT");
     expect(
         response.stream.bytesToString(), completion(equals("Hello, world!")));
@@ -229,7 +230,7 @@
     await _scheduleServer((request) => throw const HijackException());
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.INTERNAL_SERVER_ERROR);
+    expect(response.statusCode, HttpStatus.internalServerError);
   });
 
   test('passes asynchronous exceptions to the parent error zone', () async {
@@ -240,7 +241,7 @@
       }, 'localhost', 0);
 
       var response = await http.get('http://localhost:${server.port}');
-      expect(response.statusCode, HttpStatus.OK);
+      expect(response.statusCode, HttpStatus.ok);
       expect(response.body, 'Hello from /');
       await server.close();
     }, onError: expectAsync1((error) {
@@ -262,7 +263,7 @@
       }
     });
 
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
     expect(response.body, 'Hello from /');
   });
 
@@ -304,7 +305,7 @@
       var date = new DateTime.utc(1981, 6, 5);
       await _scheduleServer((request) {
         return new Response.ok('test',
-            headers: {HttpHeaders.DATE: parser.formatHttpDate(date)});
+            headers: {HttpHeaders.dateHeader: parser.formatHttpDate(date)});
       });
 
       var response = await _get();
@@ -320,17 +321,18 @@
 
       var response = await _get();
       expect(response.headers,
-          containsPair(HttpHeaders.SERVER, 'dart:io with Shelf'));
+          containsPair(HttpHeaders.serverHeader, 'dart:io with Shelf'));
     });
 
     test('defers to header in response', () async {
       await _scheduleServer((request) {
         return new Response.ok('test',
-            headers: {HttpHeaders.SERVER: 'myServer'});
+            headers: {HttpHeaders.serverHeader: 'myServer'});
       });
 
       var response = await _get();
-      expect(response.headers, containsPair(HttpHeaders.SERVER, 'myServer'));
+      expect(
+          response.headers, containsPair(HttpHeaders.serverHeader, 'myServer'));
     });
   });
 
@@ -345,7 +347,7 @@
 
         var response = await _get();
         expect(response.headers,
-            containsPair(HttpHeaders.TRANSFER_ENCODING, 'chunked'));
+            containsPair(HttpHeaders.transferEncodingHeader, 'chunked'));
         expect(response.bodyBytes, equals([1, 2, 3, 4]));
       });
 
@@ -355,12 +357,12 @@
               new Stream.fromIterable([
                 [1, 2, 3, 4]
               ]),
-              headers: {HttpHeaders.TRANSFER_ENCODING: 'identity'});
+              headers: {HttpHeaders.transferEncodingHeader: 'identity'});
         });
 
         var response = await _get();
         expect(response.headers,
-            containsPair(HttpHeaders.TRANSFER_ENCODING, 'chunked'));
+            containsPair(HttpHeaders.transferEncodingHeader, 'chunked'));
         expect(response.bodyBytes, equals([1, 2, 3, 4]));
       });
     });
@@ -370,12 +372,12 @@
       await _scheduleServer((request) {
         return new Response.ok(
             new Stream.fromIterable(["2\r\nhi\r\n0\r\n\r\n".codeUnits]),
-            headers: {HttpHeaders.TRANSFER_ENCODING: 'chunked'});
+            headers: {HttpHeaders.transferEncodingHeader: 'chunked'});
       });
 
       var response = await _get();
       expect(response.headers,
-          containsPair(HttpHeaders.TRANSFER_ENCODING, 'chunked'));
+          containsPair(HttpHeaders.transferEncodingHeader, 'chunked'));
       expect(response.body, equals("hi"));
     });
 
@@ -386,12 +388,12 @@
               new Stream.fromIterable([
                 [1, 2, 3, 4]
               ]),
-              headers: {HttpHeaders.CONTENT_LENGTH: '4'});
+              headers: {HttpHeaders.contentLengthHeader: '4'});
         });
 
         var response = await _get();
-        expect(
-            response.headers, isNot(contains(HttpHeaders.TRANSFER_ENCODING)));
+        expect(response.headers,
+            isNot(contains(HttpHeaders.transferEncodingHeader)));
         expect(response.bodyBytes, equals([1, 2, 3, 4]));
       });
 
@@ -401,8 +403,8 @@
         });
 
         var response = await _get();
-        expect(
-            response.headers, isNot(contains(HttpHeaders.TRANSFER_ENCODING)));
+        expect(response.headers,
+            isNot(contains(HttpHeaders.transferEncodingHeader)));
         expect(response.body, isEmpty);
       });
 
@@ -412,8 +414,8 @@
         });
 
         var response = await _get();
-        expect(
-            response.headers, isNot(contains(HttpHeaders.TRANSFER_ENCODING)));
+        expect(response.headers,
+            isNot(contains(HttpHeaders.transferEncodingHeader)));
         expect(response.body, isEmpty);
       });
 
@@ -423,8 +425,8 @@
         });
 
         var response = await _get();
-        expect(
-            response.headers, isNot(contains(HttpHeaders.TRANSFER_ENCODING)));
+        expect(response.headers,
+            isNot(contains(HttpHeaders.transferEncodingHeader)));
         expect(response.body, isEmpty);
       });
     });
@@ -471,7 +473,7 @@
     });
 
     var response = await _get();
-    expect(response.statusCode, HttpStatus.OK);
+    expect(response.statusCode, HttpStatus.ok);
   });
 
   group('ssl tests', () {
@@ -491,7 +493,7 @@
       var req = await _scheduleSecureGet();
 
       var response = await req.close();
-      expect(response.statusCode, HttpStatus.OK);
+      expect(response.statusCode, HttpStatus.ok);
       expect(await response.transform(utf8.decoder).single, 'Hello from /');
     });
 
@@ -500,7 +502,7 @@
 
       var req = await _scheduleSecureGet();
       var response = await req.close();
-      expect(response.statusCode, HttpStatus.OK);
+      expect(response.statusCode, HttpStatus.ok);
       expect(await response.transform(utf8.decoder).single, 'Hello from /');
     });
   });