anchor.diff:        response.done
             .then(onClosed)
             .catchError(onError);
  -      notFound(request.uri.path);
  -    }
  -  }
  -
  -  handle() {
  +      return notFound(request.uri);
  +    }
  +  }
  +
  +  Future handle() {
       response.done
         .then(onClosed)
         .catchError(onError);
  
positive.code:       uri = uri.resolve('index.html');
      }
      if (uri.path.contains('..') || uri.path.contains('%')) {
        return notFound(uri.path);
      }
      String path = uri.path;
      Uri root = documentRoot;
  
negative.code:     print('Request for ${request.uri} ${response.statusCode}');
    }
  
    Future notFound(Uri uri) {
      response
          ..headers.set(CONTENT_TYPE, 'text/html')
          ..statusCode = HttpStatus.NOT_FOUND
          ..write(htmlInfo("Not Found", "The file '$uri' could not be found."));
      return response.close();
    }
  
    Future badRequest(String problem) {
      response
          ..headers.set(CONTENT_TYPE, 'text/html')
          ..statusCode = HttpStatus.BAD_REQUEST
          ..write(
              htmlInfo("Bad request", "Bad request '${request.uri}': $problem"));
      return response.close();
    }
  
    Future handleSocket() {
      if (false && request.uri.path == '/ws/watch') {
        return WebSocketTransformer.upgrade(request).then((WebSocket socket) {
          socket.add(JSON.encode({'create': []}));
          // WatchHandler handler = new WatchHandler(socket, files);
          // handlers.add(handler);
  