Servant.API.Sub

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

Safe Haskell | None
Language | Haskell2010

Servant.API.Sub

Synopsis

- data (path :: k) :> a

# Documentation

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

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 :: Type -> Constraint) arr) :: Constraint) => HasLink (arr :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a0) -> Proxy (arr :> sub) -> Link -> MkLink (arr :> sub) a0 #
(KnownSymbol sym, HasLink sub) => HasLink (sym :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (sym :> sub) -> Link -> MkLink (sym :> sub) a #
HasLink sub => HasLink (HttpVersion :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (HttpVersion :> sub) -> Link -> MkLink (HttpVersion :> sub) a #
HasLink sub => HasLink (BasicAuth realm a :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a0) -> Proxy (BasicAuth realm a :> sub) -> Link -> MkLink (BasicAuth realm a :> sub) a0 #
(ToHttpApiData v, HasLink sub) => HasLink (Capture' mods sym v :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (Capture' mods sym v :> sub) -> Link -> MkLink (Capture' mods sym v :> sub) a #
(ToHttpApiData v, HasLink sub) => HasLink (CaptureAll sym v :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (CaptureAll sym v :> sub) -> Link -> MkLink (CaptureAll sym v :> sub) a #
HasLink sub => HasLink (Description s :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (Description s :> sub) -> Link -> MkLink (Description s :> sub) a #
HasLink sub => HasLink (Summary s :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (Summary s :> sub) -> Link -> MkLink (Summary s :> sub) a #
HasLink sub => HasLink (AuthProtect tag :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (AuthProtect tag :> sub) -> Link -> MkLink (AuthProtect tag :> sub) a #
(HasLink sub, ToHttpApiData v) => HasLink (Fragment v :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (Fragment v :> sub) -> Link -> MkLink (Fragment v :> sub) a #
HasLink sub => HasLink (Header' mods sym a :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a0) -> Proxy (Header' mods sym a :> sub) -> Link -> MkLink (Header' mods sym a :> sub) a0 #
HasLink sub => HasLink (IsSecure :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (IsSecure :> sub) -> Link -> MkLink (IsSecure :> sub) a #
(KnownSymbol sym, HasLink sub) => HasLink (QueryFlag sym :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (QueryFlag sym :> sub) -> Link -> MkLink (QueryFlag sym :> sub) a #
(KnownSymbol sym, ToHttpApiData v, HasLink sub, SBoolI (FoldRequired mods)) => HasLink (QueryParam' mods sym v :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (QueryParam' mods sym v :> sub) -> Link -> MkLink (QueryParam' mods sym v :> sub) a #
(KnownSymbol sym, ToHttpApiData v, HasLink sub) => HasLink (QueryParams sym v :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (QueryParams sym v :> sub) -> Link -> MkLink (QueryParams sym v :> sub) a #
HasLink sub => HasLink (RemoteHost :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (RemoteHost :> sub) -> Link -> MkLink (RemoteHost :> sub) a #
HasLink sub => HasLink (ReqBody' mods ct a :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a0) -> Proxy (ReqBody' mods ct a :> sub) -> Link -> MkLink (ReqBody' mods ct a :> sub) a0 #
HasLink sub => HasLink (StreamBody' mods framing ct a :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a0) -> Proxy (StreamBody' mods framing ct a :> sub) -> Link -> MkLink (StreamBody' mods framing ct a :> sub) a0 #
HasLink sub => HasLink (WithResource res :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (WithResource res :> sub) -> Link -> MkLink (WithResource res :> sub) a #
HasLink sub => HasLink (Vault :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (Vault :> sub) -> Link -> MkLink (Vault :> sub) a #
(TypeError (NoInstanceForSub (HasLink :: Type -> Constraint) ty) :: Constraint) => HasLink (ty :> sub :: Type) # |
Instance details Defined in Servant.Links Methods toLink :: (Link -> a) -> Proxy (ty :> sub) -> Link -> MkLink (ty :> sub) a #
type MkLink (arr :> sub :: Type) _1 # |
Instance details Defined in Servant.Links type MkLink (arr :> sub :: Type) _1 = TypeError (PartialApplication (HasLink :: Type -> Constraint) arr) :: Type
type MkLink (sym :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (sym :> sub :: Type) a = MkLink sub a
type MkLink (HttpVersion :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (HttpVersion :> sub :: Type) a = MkLink sub a
type MkLink (BasicAuth realm a :> sub :: Type) r # |
Instance details Defined in Servant.Links type MkLink (BasicAuth realm a :> sub :: Type) r = MkLink sub r
type MkLink (Capture' mods sym v :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (Capture' mods sym v :> sub :: Type) a = v -> MkLink sub a
type MkLink (CaptureAll sym v :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (CaptureAll sym v :> sub :: Type) a = [v] -> MkLink sub a
type MkLink (Description s :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (Description s :> sub :: Type) a = MkLink sub a
type MkLink (Summary s :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (Summary s :> sub :: Type) a = MkLink sub a
type MkLink (AuthProtect tag :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (AuthProtect tag :> sub :: Type) a = MkLink sub a
type MkLink (Fragment v :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (Fragment v :> sub :: Type) a = v -> MkLink sub a
type MkLink (Header' mods sym a :> sub :: Type) r # |
Instance details Defined in Servant.Links type MkLink (Header' mods sym a :> sub :: Type) r = MkLink sub r
type MkLink (IsSecure :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (IsSecure :> sub :: Type) a = MkLink sub a
type MkLink (QueryFlag sym :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (QueryFlag sym :> sub :: Type) a = Bool -> MkLink sub a
type MkLink (QueryParam' mods sym v :> sub :: Type) a # |
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 (QueryParams sym v :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (QueryParams sym v :> sub :: Type) a = [v] -> MkLink sub a
type MkLink (RemoteHost :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (RemoteHost :> sub :: Type) a = MkLink sub a
type MkLink (ReqBody' mods ct a :> sub :: Type) r # |
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 # |
Instance details Defined in Servant.Links type MkLink (StreamBody' mods framing ct a :> sub :: Type) r = MkLink sub r
type MkLink (WithResource res :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (WithResource res :> sub :: Type) a = MkLink sub a
type MkLink (Vault :> sub :: Type) a # |
Instance details Defined in Servant.Links type MkLink (Vault :> sub :: Type) a = MkLink sub a