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

Safe Haskell | Safe-Inferred
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

Instances details

Generic IsSecure Source # |
Instance details Defined in Servant.API.IsSecure Associated Types type Rep IsSecure :: Type -> Type Source # Methods from :: IsSecure -> Rep IsSecure x Source # to :: Rep IsSecure x -> IsSecure Source #
Read IsSecure Source # |
Instance details Defined in Servant.API.IsSecure Methods readsPrec :: Int -> ReadS IsSecure Source # readList :: ReadS [IsSecure] Source # readPrec :: ReadPrec IsSecure Source # readListPrec :: ReadPrec [IsSecure] Source #
Show IsSecure Source # |
Instance details Defined in Servant.API.IsSecure Methods showsPrec :: Int -> IsSecure -> ShowS Source # show :: IsSecure -> String Source # showList :: [IsSecure] -> ShowS Source #
Eq IsSecure Source # |
Instance details Defined in Servant.API.IsSecure Methods (==) :: IsSecure -> IsSecure -> Bool Source # (/=) :: IsSecure -> IsSecure -> Bool Source #
Ord IsSecure Source # |
Instance details Defined in Servant.API.IsSecure Methods compare :: IsSecure -> IsSecure -> Ordering Source # (<) :: IsSecure -> IsSecure -> Bool Source # (<=) :: IsSecure -> IsSecure -> Bool Source # (>) :: IsSecure -> IsSecure -> Bool Source # (>=) :: IsSecure -> IsSecure -> Bool Source # max :: IsSecure -> IsSecure -> IsSecure Source # min :: IsSecure -> IsSecure -> IsSecure Source #
HasLink sub => HasLink (IsSecure :> sub :: Type) Source # |
Instance details Defined in Servant.Links Associated Types type MkLink (IsSecure :> sub) a Source # Methods toLink :: (Link -> a) -> Proxy (IsSecure :> sub) -> Link -> MkLink (IsSecure :> sub) a Source #
type Rep IsSecure Source # |
Instance details Defined in Servant.API.IsSecure type Rep IsSecure = D1 ('MetaData "IsSecure" "Servant.API.IsSecure" "servant-0.19.1-LQYC6NTe1PqB2bzPzKYycd" 'False) (C1 ('MetaCons "Secure" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotSecure" 'PrefixI 'False) (U1 :: Type -> Type))
type MkLink (IsSecure :> sub :: Type) a Source # |
Instance details Defined in Servant.Links type MkLink (IsSecure :> sub :: Type) a = MkLink sub a