-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | HTTP cookie parsing and rendering -- -- Hackage documentation generation is not reliable. For up to date -- documentation, please see: -- https://www.stackage.org/package/cookie. @package cookie @version 0.4.4 module Web.Cookie -- | Data type representing the key-value pair to use for a cookie, as well -- as configuration options for it. -- --

Creating a SetCookie

-- -- SetCookie does not export a constructor; instead, use -- defaultSetCookie and override values (see -- http://www.yesodweb.com/book/settings-types for details): -- --
--   import Web.Cookie
--   :set -XOverloadedStrings
--   let cookie = defaultSetCookie { setCookieName = "cookieName", setCookieValue = "cookieValue" }
--   
-- --

Cookie Configuration

-- -- Cookies have several configuration options; a brief summary of each -- option is given below. For more information, see RFC 6265 or -- Wikipedia. data SetCookie -- | The name of the cookie. Default value: "name" setCookieName :: SetCookie -> ByteString -- | The value of the cookie. Default value: "value" setCookieValue :: SetCookie -> ByteString -- | The URL path for which the cookie should be sent. Default value: -- Nothing (The browser defaults to the path of the request that -- sets the cookie). setCookiePath :: SetCookie -> Maybe ByteString -- | The time at which to expire the cookie. Default value: -- Nothing (The browser will default to expiring a cookie when -- the browser is closed). setCookieExpires :: SetCookie -> Maybe UTCTime -- | The maximum time to keep the cookie, in seconds. Default value: -- Nothing (The browser defaults to expiring a cookie when the -- browser is closed). setCookieMaxAge :: SetCookie -> Maybe DiffTime -- | The domain for which the cookie should be sent. Default value: -- Nothing (The browser defaults to the current domain). setCookieDomain :: SetCookie -> Maybe ByteString -- | Marks the cookie as "HTTP only", i.e. not accessible from Javascript. -- Default value: False setCookieHttpOnly :: SetCookie -> Bool -- | Instructs the browser to only send the cookie over HTTPS. Default -- value: False setCookieSecure :: SetCookie -> Bool -- | Marks the cookie as "same site", i.e. should not be sent with -- cross-site requests. Default value: Nothing setCookieSameSite :: SetCookie -> Maybe SameSiteOption -- | Data type representing the options for a SameSite cookie data SameSiteOption -- | Directs the browser to send the cookie for safe requests (e.g. -- GET), but not for unsafe ones (e.g. POST) sameSiteLax :: SameSiteOption -- | Directs the browser to not send the cookie for any cross-site -- request, including e.g. a user clicking a link in their email to open -- a page on your site. sameSiteStrict :: SameSiteOption parseSetCookie :: ByteString -> SetCookie renderSetCookie :: SetCookie -> Builder -- | A minimal SetCookie. All fields are Nothing or -- False except setCookieName = "name" and -- setCookieValue = "value". You need this to construct a -- SetCookie, because it does not export a constructor. -- Equivalently, you may use def. defaultSetCookie :: SetCookie -- | The default value for this type. def :: Default a => a type Cookies = [(ByteString, ByteString)] -- | Decode the value of a "Cookie" request header into key/value pairs. parseCookies :: ByteString -> Cookies renderCookies :: Cookies -> Builder -- | Textual cookies. Functions assume UTF8 encoding. type CookiesText = [(Text, Text)] parseCookiesText :: ByteString -> CookiesText renderCookiesText :: CookiesText -> Builder expiresFormat :: String -- | Format a UTCTime for a cookie. formatCookieExpires :: UTCTime -> ByteString parseCookieExpires :: ByteString -> Maybe UTCTime instance GHC.Show.Show Web.Cookie.SetCookie instance GHC.Classes.Eq Web.Cookie.SetCookie instance GHC.Classes.Eq Web.Cookie.SameSiteOption instance GHC.Show.Show Web.Cookie.SameSiteOption instance Control.DeepSeq.NFData Web.Cookie.SetCookie instance Data.Default.Class.Default Web.Cookie.SetCookie instance Control.DeepSeq.NFData Web.Cookie.SameSiteOption