5
基本認証サーバント
type SubApi = API1 :<|> API2 :<|> API3
type API = BasicAuth "foo-realm" AuthData :> SubApi
で保護されたAPIを使用すると、カスタムリーダーモナドで認証を使用すると、タイプAuthData -> Handler a
のハンドラをサポートしています。
handler1 :: Request1 -> AuthMonad Response
handler2 :: Request2 -> AuthMonad Response
コンテキストAuthDataから部分的に構成されReaderTあるAuthMonad、で実行:
私はハンドラのセットを有します。 enter
とAuthMonad :~> Handler
を使用して、私はタイプAuthData -> AuthMonad
のServer API
支援ハンドラを得るが、私が本当にしたいことはrunReaderTへの環境としてAuthData
引数を使用していることができます。
これを行う方法を理解するには、enter
というタイプの魔法を使用するには十分ではありません。何か案は?
はそれが役に立つかもしれません上記の場合 私は自然な変換を作成するだろう機能を作りましたAuthMonadの実際の宣言が含まれているとします。また、あなたは何と言っているのですか?そのタイプを提供しない場合は、少なくともそれが入っているパッケージへのリンクを提供してください。 – Kwarrtz
私はタグに加えてボディに言及すべきだったと思いますが、これは[haskell-servant ](https://hackage.haskell.org/package/servant) – ewestern
私は2番目のクワルツ:「AuthMonad」についての情報がなければ答えは難しいと思います。定義を知らなくても必要な 'Nat'変換を書くのは難しいです。 – hao