delete method

  1. @override
Future<void> delete(
  1. Uri uri, [
  2. bool withDomainSharedCookie = false
])

Delete cookies with the specified uri.

Implementation

@override
Future<void> delete(Uri uri, [bool withDomainSharedCookie = false]) async {
  for (var key in prefs.getKeys()) {
    // 删除指定域的cookie
    if (key.startsWith(uri.host)) {
      prefs.remove(key);
    }

    // 如果需要删除域共享的cookie,删除匹配的所有cookie
    if (withDomainSharedCookie && key.contains('_')) {
      final cookieDomain = key.split('_')[0];
      if (uri.host.contains(cookieDomain)) {
        prefs.remove(key);
      }
    }
  }
}