anchor.diff:      return response.body;
     }
   
  -  /// Sends an HTTP GET request with the given headers to the given URL, which
  -  /// can be a [Uri] or a [String], and returns a Future that completes to the
  -  /// body of the response as a list of bytes.
  -  ///
  -  /// The Future will emit an [ClientException] if the response doesn't have a
  -  /// success status code.
  -  ///
  -  /// For more fine-grained control over the request and response, use [send] or
  -  /// [get] instead.
     @override
     Future<Uint8List> readBytes(url, {Map<String, String> headers}) async {
       final response = await get(url, headers: headers);
  
positive.code:     throw ClientException('$message.', _fromUriOrString(url));
    }
  
    /// Closes the client and cleans up any resources associated with it.
    ///
    /// It's important to close each client when it's done being used; failing to
    /// do so can cause the Dart process to hang.
    @override
    void close() {}
  }
  
negative.code: /// This is a mixin-style class; subclasses only need to implement [send] and
  /// maybe [close], and then they get various convenience methods for free.
  abstract class BaseClient implements Client {
    @override
    Future<Response> head(url, {Map<String, String> headers}) =>
        _sendUnstreamed('HEAD', url, headers);
  
    @override
    Future<Response> get(url, {Map<String, String> headers}) =>
        _sendUnstreamed('GET', url, headers);
  
    @override
    Future<Response> post(url,
            {Map<String, String> headers, body, Encoding encoding}) =>
        _sendUnstreamed('POST', url, headers, body, encoding);
  
    @override
    Future<Response> put(url,
            {Map<String, String> headers, body, Encoding encoding}) =>
        _sendUnstreamed('PUT', url, headers, body, encoding);
  
    @override
    Future<Response> patch(url,
            {Map<String, String> headers, body, Encoding encoding}) =>
        _sendUnstreamed('PATCH', url, headers, body, encoding);
  
    @override
    Future<Response> delete(url, {Map<String, String> headers}) =>
        _sendUnstreamed('DELETE', url, headers);
    @override
    Future<String> read(url, {Map<String, String> headers}) async {
      final response = await get(url, headers: headers);
  