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

Safe Haskell | None
Language | Haskell2010

Servant.API

Contents

- Combinators
- Accessing information from the request
- Actual endpoints, distinguished by HTTP method
- Authentication
- Content Types
- Response Headers
- Untyped endpoints
- FromHttpApiData and ToHttpApiData
- Experimental modules
- Utilities

Synopsis

- module Servant.API.Sub
- module Servant.API.Alternative
- module Servant.API.Empty
- module Servant.API.Capture
- module Servant.API.Header
- module Servant.API.HttpVersion
- module Servant.API.QueryParam
- module Servant.API.ReqBody
- module Servant.API.RemoteHost
- module Servant.API.IsSecure
- module Servant.API.Vault
- module Servant.API.WithNamedContext
- module Servant.API.Verbs
- module Servant.API.BasicAuth
- module Servant.API.ContentTypes
- module Servant.API.ResponseHeaders
- module Servant.API.Raw
- module Web.HttpApiData
- module Servant.API.Experimental.Auth
- module Servant.Utils.Links

# Combinators

module Servant.API.Sub

Type-level combinator for expressing subrouting: ``:>``

module Servant.API.Alternative

Type-level combinator for alternative endpoints: ``:<|>``

module Servant.API.Empty

Type-level combinator for an empty API: ``EmptyAPI``

# Accessing information from the request

module Servant.API.Capture

Capturing parts of the url path as parsed values: ``Capture`` and ``CaptureAll``

module Servant.API.Header

Retrieving specific headers from the request

module Servant.API.HttpVersion

Retrieving the HTTP version of the request

module Servant.API.QueryParam

Retrieving parameters from the query string of the `URI`: ``QueryParam``

module Servant.API.ReqBody

Accessing the request body as a JSON-encoded type: ``ReqBody``

module Servant.API.RemoteHost

Retrieving the IP of the client

module Servant.API.IsSecure

Is the request made through HTTPS?

module Servant.API.Vault

Access the location for arbitrary data to be shared by applications and middleware

module Servant.API.WithNamedContext

Access context entries in combinators in servant-server

# Actual endpoints, distinguished by HTTP method

module Servant.API.Verbs

# Authentication

module Servant.API.BasicAuth

# Content Types

module Servant.API.ContentTypes

Serializing and deserializing types based on `Accept` and `Content-Type` headers.

# Response Headers

module Servant.API.ResponseHeaders

# Untyped endpoints

module Servant.API.Raw

Plugging in a wai `Application`, serving directories

# FromHttpApiData and ToHttpApiData

module Web.HttpApiData

Classes and instances for types that can be converted to and from HTTP API data.

# Experimental modules

module Servant.API.Experimental.Auth

General Authentication

# Utilities

module Servant.Utils.Links

Type-safe internal URIs