anchor.diff:    };
   }
   
  -requestToContext(shelf.Request request) async {
  +Future<Map> requestToContext(shelf.Request request) async {
     var queryMap = request.method == 'POST'
         ? JSON.decode(await request.readAsString())
         : Uri.parse(request.requestedUri.toString()).queryParameters;
  
positive.code:             context['arguments'], context['pathSuffixes'], context['paths']);
        } else {
          return new shelf.Response.internalServerError(
              body: 'Data source does not implement the requested method');
        }
      } catch (e) {
        rethrow;
        return new shelf.Response.internalServerError(body: e.toString());
      }
  
      return new shelf.Response.ok(
  
negative.code:     Map context = await requestToContext(request);
      Router router = getDataSource(request);
  
      if (context.keys.contains('error')) {
        return new shelf.Response(400, body: JSON.encode(context));
      }
  
      if (context.keys.isEmpty) {
        return new shelf.Response.internalServerError(
            body: JSON.encode({'error': 'Request not supported'}));
      }
      if (context['method'] == null || context['method'].isEmpty) {
        return new shelf.Response.internalServerError(
            body: JSON.encode({'error': 'No query method provided'}));
      }
      if (context['method'] != 'set' &&
          (context['paths'] is! List ||
              context['paths'].any((path) => path is! List))) {
        return new shelf.Response.internalServerError(
            body: JSON.encode({'error': 'Paths must be a set of paths'}));
      }
  
      try {
  