anchor.diff:      req.send();
   
       return redirectUrl;
  +  }
  +
  +  bool _isIpfsUrl(Uri url) {
  +    bool urlMatch = false;
  +    if (url.pathSegments.isNotEmpty &&
  +        (url.pathSegments.first == 'ipfs' || url.pathSegments.first == 'ipns')) {
  +      urlMatch = url.host == settings.host && url.port == settings.port;
  +
  +      for (int i = 0; i < _ipfsRequestUrls.length && !urlMatch; ++i) {
  +        urlMatch = _ipfsRequestUrls[i].host == url.host &&
  +                    _ipfsRequestUrls[i].port == url.port;
  +      }
  +    }
  +
  +    return urlMatch;
     }
   
     void _onErrorAction(JsObject details) {
  
positive.code:     } on FormatException {
        // Some websites like to add invalid characters to their query strings
        // that their servers must like but the uri parser has beef with.
        // We'll just continue on with life like it never happened.
        return null;
      }
  
  
negative.code:     _ipfsRequestUrls = urls.map((url) => Uri.parse(url)).toList(growable: false);
    }
  
    String _handleIpfsRequest(JsObject data, Uri ipfsUrl) {
      if (_errorMode &&
          new DateTime.now().difference(_lastErrorTime) > _ERROR_COOL_DOWN_PERIOD) {
  