setCookies method

Future<void> setCookies(
  1. List<CookieParam> cookies
)

Implementation

Future<void> setCookies(List<CookieParam> cookies) async {
  var pageURL = url!;
  var startsWithHTTP = pageURL.startsWith('http');
  var items = cookies.map((cookie) {
    String? cookieUrl;
    if (cookie.url == null && startsWithHTTP) {
      cookieUrl = pageURL;
    }
    if (cookieUrl != null) {
      assert(cookieUrl != 'about:blank',
          'Blank page can not have cookie "${cookie.name}"');
      assert(!cookieUrl.startsWith('data:'),
          'Data URL page can not have cookie "${cookie.name}"');
    }
    return CookieParam(
        name: cookie.name,
        value: cookie.value,
        url: cookieUrl,
        domain: cookie.domain,
        path: cookie.path,
        secure: cookie.secure,
        httpOnly: cookie.httpOnly,
        sameSite: cookie.sameSite,
        expires: cookie.expires);
  }).toList();
  for (var cookie in items) {
    await deleteCookie(cookie.name, domain: cookie.domain, path: cookie.path);
  }
  if (items.isNotEmpty) {
    await devTools.network.setCookies(items);
  }
}