servant-0.14: 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) a :: * Source #

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

toLink :: (Link -> a) -> Proxy ((* :> CaptureAll sym v) sub) endpoint -> Link -> MkLink ((* :> CaptureAll sym v) sub) endpoint a 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) a :: * Source #

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

toLink :: (Link -> a) -> Proxy ((* :> QueryFlag sym) sub) endpoint -> Link -> MkLink ((* :> QueryFlag sym) sub) endpoint a 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) a :: * Source #

Methods

toLink :: (Link -> a) -> Proxy ((* :> QueryParams sym v) sub) endpoint -> Link -> MkLink ((* :> QueryParams sym v) sub) endpoint a 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) a :: * Source #

Methods

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

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

Associated Types

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

Methods

toLink :: (Link -> a) -> Proxy ((* :> RemoteHost) sub) endpoint -> Link -> MkLink ((* :> RemoteHost) sub) endpoint a 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) a :: * Source #

Methods

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

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

Associated Types

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

Methods

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

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