servant-swagger-ui-core-0.3.4: Servant swagger ui core components
Safe HaskellNone
LanguageHaskell2010

Servant.Swagger.UI.Core

Synopsis

Swagger UI API

type SwaggerSchemaUI (dir :: Symbol) (schema :: Symbol) = SwaggerSchemaUI' dir (schema :> Get '[JSON] Swagger) Source #

Swagger schema + ui api.

SwaggerSchemaUI "swagger-ui" "swagger.json" will result into following hierarchy:

/swagger.json
/swagger-ui
/swagger-ui/index.html
/swagger-ui/...

type SwaggerSchemaUI' (dir :: Symbol) (api :: *) = api :<|> (dir :> (Get '[HTML] (SwaggerUiHtml dir api) :<|> (("index.html" :> Get '[HTML] (SwaggerUiHtml dir api)) :<|> Raw))) Source #

Use SwaggerSchemaUI' when you need even more control over where swagger.json is served (e.g. subdirectory).

Implementation details

data SwaggerUiHtml (dir :: Symbol) (api :: *) Source #

Index file for swagger ui.

It's configured by the location of swagger schema and directory it lives under.

Implementation detail: the index.html is prepopulated with parameters to find schema file automatically.

Constructors

SwaggerUiHtml Text 

Instances

Instances details
(KnownSymbol dir, HasLink api, Link ~ MkLink api Link, IsElem api api) => ToMarkup (SwaggerUiHtml dir api) Source # 
Instance details

Defined in Servant.Swagger.UI.Core

swaggerSchemaUIServerImpl' :: Monad m => Text -> [(FilePath, ByteString)] -> ServerT api m -> ServerT (SwaggerSchemaUI' dir api) m Source #

Use a custom server to serve the Swagger spec source.

data Handler a #

Instances

Instances details
Monad Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

(>>=) :: Handler a -> (a -> Handler b) -> Handler b #

(>>) :: Handler a -> Handler b -> Handler b #

return :: a -> Handler a #

Functor Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

fmap :: (a -> b) -> Handler a -> Handler b #

(<$) :: a -> Handler b -> Handler a #

Applicative Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

pure :: a -> Handler a #

(<*>) :: Handler (a -> b) -> Handler a -> Handler b #

liftA2 :: (a -> b -> c) -> Handler a -> Handler b -> Handler c #

(*>) :: Handler a -> Handler b -> Handler b #

(<*) :: Handler a -> Handler b -> Handler a #

MonadIO Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

liftIO :: IO a -> Handler a #

MonadThrow Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

throwM :: Exception e => e -> Handler a #

MonadCatch Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

catch :: Exception e => Handler a -> (e -> Handler a) -> Handler a #

MonadMask Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

mask :: ((forall a. Handler a -> Handler a) -> Handler b) -> Handler b #

uninterruptibleMask :: ((forall a. Handler a -> Handler a) -> Handler b) -> Handler b #

generalBracket :: Handler a -> (a -> ExitCase b -> Handler c) -> (a -> Handler b) -> Handler (b, c) #

MonadError ServerError Handler 
Instance details

Defined in Servant.Server.Internal.Handler

MonadBase IO Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Methods

liftBase :: IO α -> Handler α #

MonadBaseControl IO Handler 
Instance details

Defined in Servant.Server.Internal.Handler

Associated Types

type StM Handler a #

Generic (Handler a) 
Instance details

Defined in Servant.Server.Internal.Handler

Associated Types

type Rep (Handler a) :: Type -> Type #

Methods

from :: Handler a -> Rep (Handler a) x #

to :: Rep (Handler a) x -> Handler a #

type StM Handler a 
Instance details

Defined in Servant.Server.Internal.Handler

type Rep (Handler a) 
Instance details

Defined in Servant.Server.Internal.Handler

type Rep (Handler a) = D1 ('MetaData "Handler" "Servant.Server.Internal.Handler" "servant-server-0.18.2-JxgY516M8QoEKIn8c6faB5" 'True) (C1 ('MetaCons "Handler" 'PrefixI 'True) (S1 ('MetaSel ('Just "runHandler'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ExceptT ServerError IO a))))