session function

Callback session({
  1. required String secret,
})

Middleware to manage sessions.

Implementation

Callback session({required String secret}) {
  return (Req req, Res res) async {
    Hash hash = await Sha256().hash(utf8.encode(secret));
    Cookies cookies = Cookies(hash.bytes);

    for (int i = 0; i < req.cookies.length; i++) {
      try {
        Cookie cookie = await cookies.decrypt(req.cookies[i]);
        req.cookies.replaceRange(i, i + 1, [cookie]);
      } catch (_) {}
    }

    res.secureCookie = cookies;
  };
}