happstack-server-7.9.2.1: Web related tools and services.
Safe HaskellNone
LanguageHaskell2010

Happstack.Server.Cookie

Description

Functions for creating, adding, and expiring cookies. To lookup cookie values see Happstack.Server.RqData.

Synopsis

Documentation

data Cookie Source #

a type for HTTP cookies. Usually created using mkCookie.

Constructors

Cookie 

Fields

Instances

Instances details
Data Cookie Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Cookie -> c Cookie

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Cookie

toConstr :: Cookie -> Constr

dataTypeOf :: Cookie -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Cookie)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Cookie)

gmapT :: (forall b. Data b => b -> b) -> Cookie -> Cookie

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Cookie -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Cookie -> r

gmapQ :: (forall d. Data d => d -> u) -> Cookie -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Cookie -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Cookie -> m Cookie

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Cookie -> m Cookie

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Cookie -> m Cookie

Read Cookie Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

readsPrec :: Int -> ReadS Cookie

readList :: ReadS [Cookie]

readPrec :: ReadPrec Cookie

readListPrec :: ReadPrec [Cookie]

Show Cookie Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

showsPrec :: Int -> Cookie -> ShowS

show :: Cookie -> String

showList :: [Cookie] -> ShowS

Eq Cookie Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

(==) :: Cookie -> Cookie -> Bool

(/=) :: Cookie -> Cookie -> Bool

MonadReader RqEnv RqData 
Instance details

Defined in Happstack.Server.RqData

Methods

ask :: RqData RqEnv

local :: (RqEnv -> RqEnv) -> RqData a -> RqData a

reader :: (RqEnv -> a) -> RqData a

data CookieLife Source #

Specify the lifetime of a cookie.

Note that we always set the max-age and expires headers because internet explorer does not honor max-age. You can specific MaxAge or Expires and the other will be calculated for you. Choose which ever one makes your life easiest.

Constructors

Session

session cookie - expires when browser is closed

MaxAge Int

life time of cookie in seconds

Expires UTCTime

cookie expiration date

Expired

cookie already expired

Instances

Instances details
Read CookieLife Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

readsPrec :: Int -> ReadS CookieLife

readList :: ReadS [CookieLife]

readPrec :: ReadPrec CookieLife

readListPrec :: ReadPrec [CookieLife]

Show CookieLife Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

showsPrec :: Int -> CookieLife -> ShowS

show :: CookieLife -> String

showList :: [CookieLife] -> ShowS

Eq CookieLife Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

(==) :: CookieLife -> CookieLife -> Bool

(/=) :: CookieLife -> CookieLife -> Bool

Ord CookieLife Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

data SameSite Source #

Options for specifying third party cookie behaviour.

Note that most or all web clients require the cookie to be secure if "none" is specified.

Constructors

SameSiteLax

The cookie is sent in first party contexts as well as linked requests initiated from other contexts.

SameSiteStrict

The cookie is sent in first party contexts only.

SameSiteNone

The cookie is sent in first as well as third party contexts if the cookie is secure.

SameSiteNoValue

The default; used if you do not wish a SameSite attribute present at all.

Instances

Instances details
Data SameSite Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SameSite -> c SameSite

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SameSite

toConstr :: SameSite -> Constr

dataTypeOf :: SameSite -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SameSite)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SameSite)

gmapT :: (forall b. Data b => b -> b) -> SameSite -> SameSite

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SameSite -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SameSite -> r

gmapQ :: (forall d. Data d => d -> u) -> SameSite -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> SameSite -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SameSite -> m SameSite

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SameSite -> m SameSite

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SameSite -> m SameSite

Read SameSite Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

readsPrec :: Int -> ReadS SameSite

readList :: ReadS [SameSite]

readPrec :: ReadPrec SameSite

readListPrec :: ReadPrec [SameSite]

Show SameSite Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

showsPrec :: Int -> SameSite -> ShowS

show :: SameSite -> String

showList :: [SameSite] -> ShowS

Eq SameSite Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

(==) :: SameSite -> SameSite -> Bool

(/=) :: SameSite -> SameSite -> Bool

Ord SameSite Source # 
Instance details

Defined in Happstack.Server.Internal.Cookie

Methods

compare :: SameSite -> SameSite -> Ordering

(<) :: SameSite -> SameSite -> Bool

(<=) :: SameSite -> SameSite -> Bool

(>) :: SameSite -> SameSite -> Bool

(>=) :: SameSite -> SameSite -> Bool

max :: SameSite -> SameSite -> SameSite

min :: SameSite -> SameSite -> SameSite

mkCookie Source #

Arguments

:: String

cookie name

-> String

cookie value

-> Cookie 

Creates a cookie with a default version of 1, empty domain, a path of "/", secure == False, httpOnly == False and sameSite == SameSiteNoValue and partitioned = False

see also: addCookie

addCookie :: (MonadIO m, FilterMonad Response m) => CookieLife -> Cookie -> m () Source #

Add the Cookie to Response.

example

main = simpleHTTP nullConf $
  do addCookie Session (mkCookie "name" "value")
     ok $ "You now have a session cookie."

see also: addCookies

addCookies :: (MonadIO m, FilterMonad Response m) => [(CookieLife, Cookie)] -> m () Source #

Add the list Cookie to the Response.

see also: addCookie

expireCookie :: (MonadIO m, FilterMonad Response m) => String -> m () Source #

Expire the named cookie immediately and set the cookie value to ""

main = simpleHTTP nullConf $
  do expireCookie "name"
     ok $ "The cookie has been expired."