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

Safe HaskellSafe
LanguageHaskell2010

Servant.API.Verbs

Contents

Synopsis

Documentation

data Verb (method :: k1) (statusCode :: Nat) (contentTypes :: [*]) (a :: *) Source #

Verb is a general type for representing HTTP verbs (a.k.a. methods). For convenience, type synonyms for each verb with a 200 response code are provided, but you are free to define your own:

>>> type Post204 contentTypes a = Verb 'POST 204 contentTypes a

Instances

HasLink * (Verb k1 m s ct a) Source # 

Associated Types

type MkLink (Verb k1 m s ct a) (endpoint :: Verb k1 m s ct a) a :: * Source #

Methods

toLink :: (Link -> a) -> Proxy (Verb k1 m s ct a) endpoint -> Link -> MkLink (Verb k1 m s ct a) endpoint a Source #

Generic (Verb k1 method statusCode contentTypes a) Source # 

Associated Types

type Rep (Verb k1 method statusCode contentTypes a) :: * -> * #

Methods

from :: Verb k1 method statusCode contentTypes a -> Rep (Verb k1 method statusCode contentTypes a) x #

to :: Rep (Verb k1 method statusCode contentTypes a) x -> Verb k1 method statusCode contentTypes a #

type MkLink * (Verb k1 m s ct a) r Source # 
type MkLink * (Verb k1 m s ct a) r = r
type Rep (Verb k1 method statusCode contentTypes a) Source # 
type Rep (Verb k1 method statusCode contentTypes a) = D1 * (MetaData "Verb" "Servant.API.Verbs" "servant-0.14-LDkMJtLkTYV34skhWhwIW" False) (V1 *)

200 responses

type Get = Verb GET 200 Source #

GET with 200 status code.

type Post = Verb POST 200 Source #

POST with 200 status code.

type Put = Verb PUT 200 Source #

PUT with 200 status code.

type Delete = Verb DELETE 200 Source #

DELETE with 200 status code.

type Patch = Verb PATCH 200 Source #

PATCH with 200 status code.

Other responses

201 Created

type PostCreated = Verb POST 201 Source #

POST with 201 status code.

202 Accepted

type GetAccepted = Verb GET 202 Source #

GET with 202 status code.

type PostAccepted = Verb POST 202 Source #

POST with 202 status code.

type DeleteAccepted = Verb DELETE 202 Source #

DELETE with 202 status code.

type PatchAccepted = Verb PATCH 202 Source #

PATCH with 202 status code.

type PutAccepted = Verb PUT 202 Source #

PUT with 202 status code.

203 Non-Authoritative Information

type GetNonAuthoritative = Verb GET 203 Source #

GET with 203 status code.

type PostNonAuthoritative = Verb POST 203 Source #

POST with 203 status code.

type DeleteNonAuthoritative = Verb DELETE 203 Source #

DELETE with 203 status code.

type PatchNonAuthoritative = Verb PATCH 203 Source #

PATCH with 203 status code.

type PutNonAuthoritative = Verb PUT 203 Source #

PUT with 203 status code.

204 No Content

type GetNoContent = Verb GET 204 Source #

GET with 204 status code.

type PostNoContent = Verb POST 204 Source #

POST with 204 status code.

type DeleteNoContent = Verb DELETE 204 Source #

DELETE with 204 status code.

type PatchNoContent = Verb PATCH 204 Source #

PATCH with 204 status code.

type PutNoContent = Verb PUT 204 Source #

PUT with 204 status code.

205 Reset Content

type GetResetContent = Verb GET 205 Source #

GET with 205 status code.

type PostResetContent = Verb POST 205 Source #

POST with 205 status code.

type DeleteResetContent = Verb DELETE 205 Source #

DELETE with 205 status code.

type PatchResetContent = Verb PATCH 205 Source #

PATCH with 205 status code.

type PutResetContent = Verb PUT 205 Source #

PUT with 205 status code.

206 Partial Content

type GetPartialContent = Verb GET 206 Source #

GET with 206 status code.

data StdMethod :: * #

HTTP standard method (as defined by RFC 2616, and PATCH which is defined by RFC 5789).

Constructors

GET 
POST 
HEAD 
PUT 
DELETE 
TRACE 
CONNECT 
OPTIONS 
PATCH 

Instances

Bounded StdMethod 
Enum StdMethod 
Eq StdMethod 
Ord StdMethod 
Read StdMethod 
Show StdMethod 
Ix StdMethod 
ReflectMethod StdMethod PATCH Source # 
ReflectMethod StdMethod OPTIONS Source # 
ReflectMethod StdMethod CONNECT Source # 
ReflectMethod StdMethod TRACE Source # 
ReflectMethod StdMethod DELETE Source # 
ReflectMethod StdMethod PUT Source # 
ReflectMethod StdMethod HEAD Source # 
ReflectMethod StdMethod POST Source # 
ReflectMethod StdMethod GET Source #