servant-server-0.20: A family of combinators for defining webservices APIs and serving them

Safe Haskell | Safe-Inferred
Language | Haskell2010

Servant.Server.Experimental.Auth

Contents

- General Auth
- Orphan instances

Synopsis

- type family AuthServerData a :: *
- newtype AuthHandler r usr = AuthHandler {
  - unAuthHandler :: r -> Handler usr
  }
- mkAuthHandler :: (r -> Handler usr) -> AuthHandler r usr

# General Auth

type family AuthServerData a :: * #

Specify the type of data returned after we've authenticated a request. quite often this is some `User` datatype.

NOTE: THIS API IS EXPERIMENTAL AND SUBJECT TO CHANGE

newtype AuthHandler r usr #

Handlers for AuthProtected resources

NOTE: THIS API IS EXPERIMENTAL AND SUBJECT TO CHANGE

Constructors

AuthHandler |

Fields

- unAuthHandler :: r -> Handler usr

#### Instances

Instances details

Functor (AuthHandler r) # |
Instance details Defined in Servant.Server.Experimental.Auth Methods fmap :: (a -> b) -> AuthHandler r a -> AuthHandler r b # (<$) :: a -> AuthHandler r b -> AuthHandler r a #
Generic (AuthHandler r usr) # |
Instance details Defined in Servant.Server.Experimental.Auth Associated Types type Rep (AuthHandler r usr) :: Type -> Type # Methods from :: AuthHandler r usr -> Rep (AuthHandler r usr) x # to :: Rep (AuthHandler r usr) x -> AuthHandler r usr #
type Rep (AuthHandler r usr) # |
Instance details Defined in Servant.Server.Experimental.Auth type Rep (AuthHandler r usr) = D1 ('MetaData "AuthHandler" "Servant.Server.Experimental.Auth" "servant-server-0.20-1svFzOF0MCAJCljFdtYJ9N" 'True) (C1 ('MetaCons "AuthHandler" 'PrefixI 'True) (S1 ('MetaSel ('Just "unAuthHandler") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> Handler usr))))

mkAuthHandler :: (r -> Handler usr) -> AuthHandler r usr #

NOTE: THIS API IS EXPERIMENTAL AND SUBJECT TO CHANGE

# Orphan instances

(HasServer api context, HasContextEntry context (AuthHandler Request (AuthServerData (AuthProtect tag)))) => HasServer (AuthProtect tag :> api :: Type) context # | Known orphan instance.
Instance details Associated Types type ServerT (AuthProtect tag :> api) m # Methods route :: Proxy (AuthProtect tag :> api) -> Context context -> Delayed env (Server (AuthProtect tag :> api)) -> Router env # hoistServerWithContext :: Proxy (AuthProtect tag :> api) -> Proxy context -> (forall x. m x -> n x) -> ServerT (AuthProtect tag :> api) m -> ServerT (AuthProtect tag :> api) n #