{-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-} -- | Servant specific additions that could be upstreamed module Cachix.Types.Servant ( Get302 , Post302 , Head ) where import Data.Text (Text) import Servant.API -- Location header as per https://github.com/haskell-servant/servant/issues/117#issuecomment-381398666 type Get302 (cts :: [*]) (hs :: [*]) = Verb 'GET 302 cts (Headers (Header "Location" Text ': hs) NoContent) type Post302 (cts :: [*]) (hs :: [*]) = Verb 'POST 302 cts (Headers (Header "Location" Text ': hs) NoContent) -- TODO: allow empty CT with HEAD type Head = Verb 'HEAD 200 '[JSON] NoContent