基本認証で保護された API
type SubApi = API1 :<|> API2 :<|> API3
type API = BasicAuth "foo-realm" AuthData :> SubApi
型のハンドラをサポートしますAuthData -> Handler a
。
私はハンドラーのセットを持っています:
handler1 :: Request1 -> AuthMonad Response
handler2 :: Request2 -> AuthMonad Response
これは、AuthData から部分的に構築されたコンテキストを持つ ReaderT である AuthMonad で実行されます。enter
とを使用して、タイプ のサポート ハンドラーをAuthMonad :~> Handler
取得できますが、本当にやりたいのは、runReaderT の環境として引数を使用することです。Server API
AuthData -> AuthMonad
AuthData
これを行う方法を理解するには、型の魔法について十分enter
に理解していません。何か案は?