anchor.diff:  // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
   
  +/// Provides hosting of `Shelf` handlers via App Engine.
   library shelf_appengine;
   
   import 'dart:async';
  
positive.code: import 'package:shelf/shelf.dart';
  import 'package:shelf/shelf_io.dart' as shelf_io;
  
  Future serve(Handler handler, {Function onError}) {
    return ae.runAppEngine((io.HttpRequest request) {
      shelf_io.handleRequest(request, handler);
    }, onError: onError);
  }
  
  final Handler assetHandler = _assetHandler;
  
  _assetHandler(Request request) {
  
negative.code:     Map headers;
      var contentType = mime.lookupMimeType(path);
      if (contentType != null) {
        headers = <String, String>{
          io.HttpHeaders.CONTENT_TYPE: contentType
        };
      }
  
      return new Response.ok(stream, headers: headers);
    }, onError: (err, stack) {
      ae.context.services.logging.error(
          'Error getting asset at path $path\n$err\n$stack');
      // TODO(kevmoo): handle only the specific case of an asset not found
      // https://github.com/dart-lang/appengine/issues/7
      if (err is ae.AssetError) {
  