Servant cookie最小的例子

时间:2018-03-17 16:33:31

标签: haskell cookies servant

任何人都可以向我提供一个带有servant-server,wai,warp等的cookie的最小例子吗?

例如,具有值为“en”的单个字段“language”的cookie

有一种简单的方法,比如happstack-lite addCookieslookCookieValue吗?

1 个答案:

答案 0 :(得分:1)

编写cookie:

Get '[JSON] (Headers '[Header "Set-Cookie" SetCookie] ...)

SetCookie在最近的ToHttpApiData中有http-api-data个实例,因此可以正常工作。

要读取Cookie,我将自己创建为Cookies is a type alias in cookienewtype,所以我们不能直接为其编写实例。

newtype Cookies' = Cookies' Cookies -- type Cookies = [(BS.ByteString, BS.ByteString)]

instance FromHttpApiData Cookies' where
  parseHeader = return . Cookies' . parseCookies
  parseQueryParam = return . Cookies' . parseCookies . TE.encodeUtf8