clearCookie method

Future<void> clearCookie(
  1. String name
)

Clear a specific cookie by name

Implementation

Future<void> clearCookie(String name) async {
  try {
    final uri = Uri.parse(SuperBetterAuth.baseUrl);
    final cookieManager = SuperBetterAuth.dioClient.interceptors
        .whereType<CookieManager>()
        .firstOrNull;

    if (cookieManager != null) {
      final cookies = await cookieManager.cookieJar.loadForRequest(uri);
      final updatedCookies = cookies.where((cookie) => cookie.name != name).toList();

      // Clear all cookies and re-save the ones we want to keep
      await cookieManager.cookieJar.delete(uri);
      if (updatedCookies.isNotEmpty) {
        await cookieManager.cookieJar.saveFromResponse(uri, updatedCookies);
      }
    }
  } catch (e) {
    // Silently handle errors
  }
}