servant-0.12.1: 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 k2 sub => HasLink * ((:>) * k2 (AuthProtect k1 tag) sub) Source # 

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

HasLink k2 sub => HasLink * ((:>) * k2 (ReqBody k1 ct a) sub) Source # 

Associated Types

type MkLink ((* :> k2) (ReqBody k1 ct a) sub) (endpoint :: (* :> k2) (ReqBody k1 ct a) sub) :: * Source #

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

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

Associated Types

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

Methods

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

type MkLink * ((:>) * k1 (AuthProtect k2 tag) sub) Source # 
type MkLink * ((:>) * k1 (AuthProtect k2 tag) sub) = MkLink k1 sub
type MkLink * ((:>) * k (BasicAuth realm a) sub) Source # 
type MkLink * ((:>) * k (BasicAuth realm a) sub) = MkLink k sub
type MkLink * ((:>) * k RemoteHost sub) Source # 
type MkLink * ((:>) * k RemoteHost sub) = MkLink k sub
type MkLink * ((:>) * k (Header sym a) sub) Source # 
type MkLink * ((:>) * k (Header sym a) sub) = MkLink k sub
type MkLink * ((:>) * k (CaptureAll * sym v) sub) Source # 
type MkLink * ((:>) * k (CaptureAll * sym v) sub) = [v] -> MkLink k sub
type MkLink * ((:>) * k (Capture * sym v) sub) Source # 
type MkLink * ((:>) * k (Capture * sym v) sub) = v -> MkLink k sub
type MkLink * ((:>) * k1 (ReqBody k2 ct a) sub) Source # 
type MkLink * ((:>) * k1 (ReqBody k2 ct a) sub) = MkLink k1 sub
type MkLink * ((:>) * k (QueryFlag sym) sub) Source # 
type MkLink * ((:>) * k (QueryFlag sym) sub) = Bool -> MkLink k sub
type MkLink * ((:>) * k (QueryParams * sym v) sub) Source # 
type MkLink * ((:>) * k (QueryParams * sym v) sub) = [v] -> MkLink k sub
type MkLink * ((:>) * k (QueryParam * sym v) sub) Source # 
type MkLink * ((:>) * k (QueryParam * sym v) sub) = Maybe v -> MkLink k sub
type MkLink * ((:>) Symbol k sym sub) Source # 
type MkLink * ((:>) Symbol k sym sub) = MkLink k sub