小编ewe*_*ern的帖子

使用身份验证与自定义阅读器Monad与Servant

受基本身份验证保护的API

type SubApi = API1 :<|> API2 :<|> API3
type API = BasicAuth "foo-realm" AuthData :> SubApi
Run Code Online (Sandbox Code Playgroud)

支持类型的处理程序AuthData -> Handler a.

我有一组处理程序:

handler1 :: Request1 -> AuthMonad Response
handler2 :: Request2 -> AuthMonad Response
Run Code Online (Sandbox Code Playgroud)

它在AuthMonad中运行,这是一个ReaderT,其上下文部分来自AuthData.使用enterAuthMonad :~> Handler,我可以获得Server API类型的支持处理程序AuthData -> AuthMonad,但我真正想要做的是使用AuthData参数作为runReaderT的环境.

我不太enter了解类型魔法,以了解如何做到这一点.有任何想法吗?

haskell servant

6
推荐指数
1
解决办法
234
查看次数

标签 统计

haskell ×1

servant ×1