servant-0.13: A family of combinators for defining webservices APIs

Safe HaskellSafe
LanguageHaskell2010

Servant.API.Sub

Synopsis

Documentation

data (path :: k) :> (a :: *) infixr 4 Source #

The contained API (second argument) can be found under ("/" ++ path) (path being the first argument).

Example:

>>> -- GET /hello/world
>>> -- returning a JSON encoded World value
>>> type MyApi = "hello" :> "world" :> Get '[JSON] World

Instances

HasLink * sub => HasLink * ((:>) * HttpVersion sub) Source # 

Associated Types

type MkLink ((* :> HttpVersion) sub) (endpoint :: (* :> HttpVersion) sub) :: * Source #

Methods

toLink :: Proxy ((* :> HttpVersion) sub) endpoint -> Link -> MkLink ((* :> HttpVersion) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * Vault sub) Source # 

Associated Types

type MkLink ((* :> Vault) sub) (endpoint :: (* :> Vault) sub) :: * Source #

Methods

toLink :: Proxy ((* :> Vault) sub) endpoint -> Link -> MkLink ((* :> Vault) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * (BasicAuth realm a) sub) Source # 

Associated Types

type MkLink ((* :> BasicAuth realm a) sub) (endpoint :: (* :> BasicAuth realm a) sub) :: * Source #

Methods

toLink :: Proxy ((* :> BasicAuth realm a) sub) endpoint -> Link -> MkLink ((* :> BasicAuth realm a) sub) endpoint Source #

(ToHttpApiData v, HasLink * sub) => HasLink * ((:>) * (CaptureAll sym v) sub) Source # 

Associated Types

type MkLink ((* :> CaptureAll sym v) sub) (endpoint :: (* :> CaptureAll sym v) sub) :: * Source #

Methods

toLink :: Proxy ((* :> CaptureAll sym v) sub) endpoint -> Link -> MkLink ((* :> CaptureAll sym v) sub) endpoint Source #

(ToHttpApiData v, HasLink * sub) => HasLink * ((:>) * (Capture' mods sym v) sub) Source # 

Associated Types

type MkLink ((* :> Capture' mods sym v) sub) (endpoint :: (* :> Capture' mods sym v) sub) :: * Source #

Methods

toLink :: Proxy ((* :> Capture' mods sym v) sub) endpoint -> Link -> MkLink ((* :> Capture' mods sym v) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * (Description s) sub) Source # 

Associated Types

type MkLink ((* :> Description s) sub) (endpoint :: (* :> Description s) sub) :: * Source #

Methods

toLink :: Proxy ((* :> Description s) sub) endpoint -> Link -> MkLink ((* :> Description s) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * (Summary s) sub) Source # 

Associated Types

type MkLink ((* :> Summary s) sub) (endpoint :: (* :> Summary s) sub) :: * Source #

Methods

toLink :: Proxy ((* :> Summary s) sub) endpoint -> Link -> MkLink ((* :> Summary s) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * (AuthProtect k tag) sub) Source # 

Associated Types

type MkLink ((* :> AuthProtect k tag) sub) (endpoint :: (* :> AuthProtect k tag) sub) :: * Source #

Methods

toLink :: Proxy ((* :> AuthProtect k tag) sub) endpoint -> Link -> MkLink ((* :> AuthProtect k tag) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * IsSecure sub) Source # 

Associated Types

type MkLink ((* :> IsSecure) sub) (endpoint :: (* :> IsSecure) sub) :: * Source #

Methods

toLink :: Proxy ((* :> IsSecure) sub) endpoint -> Link -> MkLink ((* :> IsSecure) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * (Header' k mods sym a) sub) Source # 

Associated Types

type MkLink ((* :> Header' k mods sym a) sub) (endpoint :: (* :> Header' k mods sym a) sub) :: * Source #

Methods

toLink :: Proxy ((* :> Header' k mods sym a) sub) endpoint -> Link -> MkLink ((* :> Header' k mods sym a) sub) endpoint Source #

(KnownSymbol sym, HasLink * sub) => HasLink * ((:>) * (QueryFlag sym) sub) Source # 

Associated Types

type MkLink ((* :> QueryFlag sym) sub) (endpoint :: (* :> QueryFlag sym) sub) :: * Source #

Methods

toLink :: Proxy ((* :> QueryFlag sym) sub) endpoint -> Link -> MkLink ((* :> QueryFlag sym) sub) endpoint Source #

(KnownSymbol sym, ToHttpApiData v, HasLink * sub) => HasLink * ((:>) * (QueryParams sym v) sub) Source # 

Associated Types

type MkLink ((* :> QueryParams sym v) sub) (endpoint :: (* :> QueryParams sym v) sub) :: * Source #

Methods

toLink :: Proxy ((* :> QueryParams sym v) sub) endpoint -> Link -> MkLink ((* :> QueryParams sym v) sub) endpoint Source #

(KnownSymbol sym, ToHttpApiData v, HasLink * sub, SBoolI (FoldRequired mods)) => HasLink * ((:>) * (QueryParam' mods sym v) sub) Source # 

Associated Types

type MkLink ((* :> QueryParam' mods sym v) sub) (endpoint :: (* :> QueryParam' mods sym v) sub) :: * Source #

Methods

toLink :: Proxy ((* :> QueryParam' mods sym v) sub) endpoint -> Link -> MkLink ((* :> QueryParam' mods sym v) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * RemoteHost sub) Source # 

Associated Types

type MkLink ((* :> RemoteHost) sub) (endpoint :: (* :> RemoteHost) sub) :: * Source #

Methods

toLink :: Proxy ((* :> RemoteHost) sub) endpoint -> Link -> MkLink ((* :> RemoteHost) sub) endpoint Source #

HasLink * sub => HasLink * ((:>) * (ReqBody' mods ct a) sub) Source # 

Associated Types

type MkLink ((* :> ReqBody' mods ct a) sub) (endpoint :: (* :> ReqBody' mods ct a) sub) :: * Source #

Methods

toLink :: Proxy ((* :> ReqBody' mods ct a) sub) endpoint -> Link -> MkLink ((* :> ReqBody' mods ct a) sub) endpoint Source #

(KnownSymbol sym, HasLink * sub) => HasLink * ((:>) Symbol sym sub) Source # 

Associated Types

type MkLink ((Symbol :> sym) sub) (endpoint :: (Symbol :> sym) sub) :: * Source #

Methods

toLink :: Proxy ((Symbol :> sym) sub) endpoint -> Link -> MkLink ((Symbol :> sym) sub) endpoint Source #

type MkLink * ((:>) * HttpVersion sub) Source # 
type MkLink * ((:>) * HttpVersion sub) = MkLink * sub
type MkLink * ((:>) * Vault sub) Source # 
type MkLink * ((:>) * Vault sub) = MkLink * sub
type MkLink * ((:>) * (BasicAuth realm a) sub) Source # 
type MkLink * ((:>) * (BasicAuth realm a) sub) = MkLink * sub
type MkLink * ((:>) * (CaptureAll sym v) sub) Source # 
type MkLink * ((:>) * (CaptureAll sym v) sub) = [v] -> MkLink * sub
type MkLink * ((:>) * (Capture' mods sym v) sub) Source # 
type MkLink * ((:>) * (Capture' mods sym v) sub) = v -> MkLink * sub
type MkLink * ((:>) * (Description s) sub) Source # 
type MkLink * ((:>) * (Description s) sub) = MkLink * sub
type MkLink * ((:>) * (Summary s) sub) Source # 
type MkLink * ((:>) * (Summary s) sub) = MkLink * sub
type MkLink * ((:>) * (AuthProtect k tag) sub) Source # 
type MkLink * ((:>) * (AuthProtect k tag) sub) = MkLink * sub
type MkLink * ((:>) * IsSecure sub) Source # 
type MkLink * ((:>) * IsSecure sub) = MkLink * sub
type MkLink * ((:>) * (Header' k mods sym a) sub) Source # 
type MkLink * ((:>) * (Header' k mods sym a) sub) = MkLink * sub
type MkLink * ((:>) * (QueryFlag sym) sub) Source # 
type MkLink * ((:>) * (QueryFlag sym) sub) = Bool -> MkLink * sub
type MkLink * ((:>) * (QueryParams sym v) sub) Source # 
type MkLink * ((:>) * (QueryParams sym v) sub) = [v] -> MkLink * sub
type MkLink * ((:>) * (QueryParam' mods sym v) sub) Source # 
type MkLink * ((:>) * (QueryParam' mods sym v) sub) = If * (FoldRequired mods) v (Maybe v) -> MkLink * sub
type MkLink * ((:>) * RemoteHost sub) Source # 
type MkLink * ((:>) * RemoteHost sub) = MkLink * sub
type MkLink * ((:>) * (ReqBody' mods ct a) sub) Source # 
type MkLink * ((:>) * (ReqBody' mods ct a) sub) = MkLink * sub
type MkLink * ((:>) Symbol sym sub) Source # 
type MkLink * ((:>) Symbol sym sub) = MkLink * sub