servant-0.19.1: A family of combinators for defining webservices APIs
Safe Haskell Safe-Inferred
Language Haskell2010

Servant.API.Sub

Synopsis
  • data (path :: k) :> (a :: *)

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

Instances details
( TypeError ( PartialApplication ( HasLink :: k -> Constraint ) arr) :: Constraint ) => HasLink (arr :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink (arr :> sub) a Source #

Methods

toLink :: ( Link -> a) -> Proxy (arr :> sub) -> Link -> MkLink (arr :> sub) a Source #

HasLink sub => HasLink ( HttpVersion :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink ( HttpVersion :> sub) a Source #

HasLink sub => HasLink ( Vault :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink ( Vault :> sub) a Source #

HasLink sub => HasLink ( BasicAuth realm a :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

Methods

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

( ToHttpApiData v, HasLink sub) => HasLink ( CaptureAll sym v :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

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

Defined in Servant.Links

Associated Types

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

Methods

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

HasLink sub => HasLink ( Description s :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

HasLink sub => HasLink ( Summary s :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

HasLink sub => HasLink ( AuthProtect tag :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

( HasLink sub, ToHttpApiData v) => HasLink ( Fragment v :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink ( Fragment v :> sub) a Source #

HasLink sub => HasLink ( IsSecure :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink ( IsSecure :> sub) a Source #

HasLink sub => HasLink ( Header' mods sym a :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

Methods

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

( KnownSymbol sym, HasLink sub) => HasLink ( QueryFlag sym :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

( KnownSymbol sym, ToHttpApiData v, HasLink sub) => HasLink ( QueryParams sym v :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

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

Defined in Servant.Links

Associated Types

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

Methods

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

HasLink sub => HasLink ( RemoteHost :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink ( RemoteHost :> sub) a Source #

HasLink sub => HasLink ( ReqBody' mods ct a :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

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

Methods

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

HasLink sub => HasLink ( StreamBody' mods framing ct a :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink ( StreamBody' mods framing ct a :> sub) a Source #

Methods

toLink :: ( Link -> a0) -> Proxy ( StreamBody' mods framing ct a :> sub) -> Link -> MkLink ( StreamBody' mods framing ct a :> sub) a0 Source #

( KnownSymbol sym, HasLink sub) => HasLink (sym :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink (sym :> sub) a Source #

Methods

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

( TypeError ( NoInstanceForSub ( HasLink :: k2 -> Constraint ) ty) :: Constraint ) => HasLink (ty :> sub :: Type ) Source #
Instance details

Defined in Servant.Links

Associated Types

type MkLink (ty :> sub) a Source #

Methods

toLink :: ( Link -> a) -> Proxy (ty :> sub) -> Link -> MkLink (ty :> sub) a Source #

type MkLink (arr :> sub :: Type ) _1 Source #
Instance details

Defined in Servant.Links

type MkLink ( HttpVersion :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Vault :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Vault :> sub :: Type ) a = MkLink sub a
type MkLink ( BasicAuth realm a :> sub :: Type ) r Source #
Instance details

Defined in Servant.Links

type MkLink ( BasicAuth realm a :> sub :: Type ) r = MkLink sub r
type MkLink ( CaptureAll sym v :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( CaptureAll sym v :> sub :: Type ) a = [v] -> MkLink sub a
type MkLink ( Capture' mods sym v :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Capture' mods sym v :> sub :: Type ) a = v -> MkLink sub a
type MkLink ( Description s :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Summary s :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Summary s :> sub :: Type ) a = MkLink sub a
type MkLink ( AuthProtect tag :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( AuthProtect tag :> sub :: Type ) a = MkLink sub a
type MkLink ( Fragment v :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Fragment v :> sub :: Type ) a = v -> MkLink sub a
type MkLink ( IsSecure :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( Header' mods sym a :> sub :: Type ) r Source #
Instance details

Defined in Servant.Links

type MkLink ( Header' mods sym a :> sub :: Type ) r = MkLink sub r
type MkLink ( QueryFlag sym :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( QueryParams sym v :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( QueryParams sym v :> sub :: Type ) a = [v] -> MkLink sub a
type MkLink ( QueryParam' mods sym v :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( QueryParam' mods sym v :> sub :: Type ) a = If ( FoldRequired mods) v ( Maybe v) -> MkLink sub a
type MkLink ( RemoteHost :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink ( ReqBody' mods ct a :> sub :: Type ) r Source #
Instance details

Defined in Servant.Links

type MkLink ( ReqBody' mods ct a :> sub :: Type ) r = MkLink sub r
type MkLink ( StreamBody' mods framing ct a :> sub :: Type ) r Source #
Instance details

Defined in Servant.Links

type MkLink ( StreamBody' mods framing ct a :> sub :: Type ) r = MkLink sub r
type MkLink (sym :> sub :: Type ) a Source #
Instance details

Defined in Servant.Links

type MkLink (sym :> sub :: Type ) a = MkLink sub a