Îõ³h& A ×      Trustworthy"ÁÃ µsimple-session3Instances of this class can be used as states by a Ë to manage cookie-based user sessions. Instances must minimally implement  and .êBy default, the secret session key is taken from the environment variable "SESSION_KEY", or a default dummy key is used if the environment variable "ENV" is set to "development". You can override this behaviour by implementing the  method.-The default generated cookie always uses the httponly option, and the secure£ option if the request is over HTTPS. You can override this behavior, as well as other cookie options (e.g. the path, expiration and domain) by implementing the  method.óIf the controller state contains a dedicated field of type 'Maybe Session', a reasonable implementation would be: ÷data MyAppSettings = MyAppSettings { myAppSess :: Maybe Session, ...} instance HasSession MyAppSettings where getSession = myAppSess <$> controllerState setSession sess = do cs <- controllerState putState $ cs { myAppSess = sess }simple-sessionÜReturns the secret session key. The default implementation uses the "SESSION_KEY" environment variable. If it is not present, and the "ENV" environment variable is set to "development", a dummy, hardcoded key is used.simple-sessionõReturns the cached session for the current request, or nothing if the session has not been set yet for this request.simple-sessionÁStores a parsed or changed session for the remainder of the request.This is used both for cached a parsed session cookie as well as for serializing to the "Set-Cookie" header when responding.simple-sessionÀPlaintext mapping of the session map. Both keys and values are s.simple-sessionA middleware wrapper around a ý that sets the "Set-Cookie" header in the HTTP response if the Session is present, i.e. if it was accessed/modified by the .simple-session:Adds a "Set-Cookie" with the given key-value tuple to the ð. The path set on the cookie is "/", meaning it applies to all routes on the domain, and no expiration is set.simple-sessionReturns the current , either from the * cache or by parsing the cookie from the Request using .simple-sessionGet and parse a  from the current Request. simple-session"Parses and validates a serialized  given the secret. If the 5 is invalid (i.e. the hmac does not match), an empty  is returned. simple-session Serializes a È by applying a sha256 hmac with the given secret key to the serialized  (using Ä), base64 encoding the result, and prepending it to the serialized . simple-sessionLookup a key from the current Request s session. simple-session'Insert or replace a key in the current Request s session. simple-sessionRemove a key from the current Request s session.simple-sessionClear the entire .simple-session A trivial implementation if the # settings is just a Session store.        +simple-session-2.0.0-LZxBzTybR1nDqxT2v1MU6TWeb.Simple.Session HasSession sessionKey getSession setSessionsessionBaseCookieSession withSession addCookiesession parseSession dumpSession sessionLookup sessionInsert sessionDelete sessionClear$fHasSessionMaybe#simple-2.0.0-DGZNzjZvfJrEB0eYNeFYGiWeb.Simple.Controller Controllerbytestring-0.11.3.1Data.ByteString.Internal ByteString wai-3.2.3-4cXy7zNNy7HCJv6kZNIp8hNetwork.Wai.InternalResponsesessionFromCookie(http-types-0.12.3-L3rcKlUfVN0BViQ440kXJlNetwork.HTTP.Types.URIrenderSimpleQuery