如何使用Scotty / wai设置cookie?

时间:2018-02-03 14:53:19

标签: scotty haskell-wai

我浏览过Scotty文档,但我只看到设置HTTP标题的能力似乎有点低。

有更优雅的方法来实现这一目标吗?第三方图书馆?

根据我的发现,解决方案是使用mapHeader中的Network.Wai.Util。但就像提到的那样,这似乎很低。

还有cookie个包,但它似乎会返回一个完全呈现的Cookie' string'只是因为能够检索键/值。

还有:https://hackage.haskell.org/package/HTTP-4000.3.9/docs/Network-HTTP-Cookie.html但似乎没有Expiry参数?

1 个答案:

答案 0 :(得分:0)

https://hackage.haskell.org/package/scotty-cookie-0.1.0.3/docs/Web-Scotty-Cookie.html https://hackage.haskell.org/package/cookie-0.4.3/docs/Web-Cookie.html

import Web.Cookie
import Web.Scotty.Cookie

setCookie $ defaultSetCookie { setCookieName = "example", setCookieValue = "cookieValue" }

该功能实际上非常简单:

setCookie :: (Monad m, ScottyError e)
          => SetCookie
          -> ActionT e m ()
setCookie c = addHeader "Set-Cookie" (TL.decodeUtf8 . toLazyByteString $ renderSetCookie c)