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

Safe Haskell | Safe
Language | Haskell2010

Servant.API.IsSecure

Synopsis

- data IsSecure
  - = Secure
  - | NotSecure

# Documentation

| Use `IsSecure` whenever your request handlers need to know whether the connection to the server is secure or not. This would make the request handlers receive an argument of type `IsSecure`, whose value can be one of `Secure` (HTTPS) or `NotSecure` (HTTP).

Example:

    >>> type API = "sensitive-data" :> IsSecure :> Get '[JSON] NationSecrets

data IsSecure Source #

Was this request made over an SSL connection?

Note that this value will not tell you if the client originally made this request over SSL, but rather whether the current connection is SSL. The distinction lies with reverse proxies. In many cases, the client will connect to a load balancer over SSL, but connect to the WAI handler without SSL. In such a case, the handlers would get `NotSecure`, but from a user perspective, there is a secure connection.

Constructors

Secure | the connection to the server is secure (HTTPS)
NotSecure | the connection to the server is not secure (HTTP)

Instances

Eq IsSecure Source # |
Methods (==) :: IsSecure -> IsSecure -> Bool # (/=) :: IsSecure -> IsSecure -> Bool #
Ord IsSecure Source # |
Methods compare :: IsSecure -> IsSecure -> Ordering # (<) :: IsSecure -> IsSecure -> Bool # (<=) :: IsSecure -> IsSecure -> Bool # (>) :: IsSecure -> IsSecure -> Bool # (>=) :: IsSecure -> IsSecure -> Bool # max :: IsSecure -> IsSecure -> IsSecure # min :: IsSecure -> IsSecure -> IsSecure #
Read IsSecure Source # |
Methods readsPrec :: Int -> ReadS IsSecure # readList :: ReadS [IsSecure] # readPrec :: ReadPrec IsSecure # readListPrec :: ReadPrec [IsSecure] #
Show IsSecure Source # |
Methods showsPrec :: Int -> IsSecure -> ShowS # show :: IsSecure -> String # showList :: [IsSecure] -> ShowS #
Generic IsSecure Source # |
Associated Types type Rep IsSecure :: * -> * # Methods from :: IsSecure -> Rep IsSecure x # to :: Rep IsSecure x -> IsSecure #
type Rep IsSecure Source # |
type Rep IsSecure = D1 (MetaData "IsSecure" "Servant.API.IsSecure" "servant-0.11-4V2Kat1ZPa65cYjlpXcD7T" False) ((:+:) (C1 (MetaCons "Secure" PrefixI False) U1) (C1 (MetaCons "NotSecure" PrefixI False) U1))