| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Servant.Server.Generic
Description
Since: 0.14.1
Synopsis
- data AsServerT (m :: * -> *)
- type AsServer = AsServerT Handler
- genericServe :: forall routes. (HasServer (ToServantApi routes) '[], GenericServant routes AsServer, Server (ToServantApi routes) ~ ToServant routes AsServer) => routes AsServer -> Application
- genericServeT :: forall (routes :: * -> *) (m :: * -> *). (GenericServant routes (AsServerT m), GenericServant routes AsApi, HasServer (ToServantApi routes) '[], ServerT (ToServantApi routes) m ~ ToServant routes (AsServerT m)) => (forall a. m a -> Handler a) -> routes (AsServerT m) -> Application
- genericServeTWithContext :: forall (routes :: * -> *) (m :: * -> *) (ctx :: [*]). (GenericServant routes (AsServerT m), GenericServant routes AsApi, HasServer (ToServantApi routes) ctx, ServerT (ToServantApi routes) m ~ ToServant routes (AsServerT m)) => (forall a. m a -> Handler a) -> routes (AsServerT m) -> Context ctx -> Application
- genericServer :: GenericServant routes AsServer => routes AsServer -> ToServant routes AsServer
- genericServerT :: GenericServant routes (AsServerT m) => routes (AsServerT m) -> ToServant routes (AsServerT m)
Documentation
data AsServerT (m :: * -> *) Source #
A type that specifies that an API record contains a server implementation.
genericServe :: forall routes. (HasServer (ToServantApi routes) '[], GenericServant routes AsServer, Server (ToServantApi routes) ~ ToServant routes AsServer) => routes AsServer -> Application Source #
Transform record of routes into a WAI Application.
Arguments
| :: forall (routes :: * -> *) (m :: * -> *). (GenericServant routes (AsServerT m), GenericServant routes AsApi, HasServer (ToServantApi routes) '[], ServerT (ToServantApi routes) m ~ ToServant routes (AsServerT m)) | |
| => (forall a. m a -> Handler a) |
|
| -> routes (AsServerT m) | your record full of request handlers |
| -> Application |
Transform a record of routes with custom monad into a WAI Application,
by providing a transformation to bring each handler back in the Handler
monad.
genericServeTWithContext Source #
Arguments
| :: forall (routes :: * -> *) (m :: * -> *) (ctx :: [*]). (GenericServant routes (AsServerT m), GenericServant routes AsApi, HasServer (ToServantApi routes) ctx, ServerT (ToServantApi routes) m ~ ToServant routes (AsServerT m)) | |
| => (forall a. m a -> Handler a) |
|
| -> routes (AsServerT m) | your record full of request handlers |
| -> Context ctx | the |
| -> Application |
Transform a record of routes with custom monad into a WAI Application,
while using the given Context to serve the application (contexts are typically
used by auth-related combinators in servant, e.g to hold auth checks) and the given
transformation to map all the handlers back to the Handler monad.
genericServer :: GenericServant routes AsServer => routes AsServer -> ToServant routes AsServer Source #
Transform record of endpoints into a Server.
genericServerT :: GenericServant routes (AsServerT m) => routes (AsServerT m) -> ToServant routes (AsServerT m) Source #