Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Some helpers for interrogating a WAI Request
.
Synopsis
- appearsSecure :: Request -> Bool
- guessApproot :: Request -> ByteString
- newtype RequestSizeException = RequestSizeException Word64
- requestSizeCheck :: Word64 -> Request -> IO Request
Documentation
appearsSecure :: Request -> Bool Source #
Does this request appear to have been made over an SSL connection?
This function first checks
, but also checks for headers that may
indicate a secure connection even in the presence of reverse proxies.isSecure
Note: these headers can be easily spoofed, so decisions which require a true
SSL connection (i.e. sending sensitive information) should only use
. This is not always the case though: for example, deciding to
force a non-SSL request to SSL by redirect. One can safely choose not to
redirect when the request appears secure, even if it's actually not.isSecure
Since: 3.0.7
guessApproot :: Request -> ByteString Source #
Guess the "application root" based on the given request.
The application root is the basis for forming URLs pointing at the current application. For more information and relevant caveats, please see Network.Wai.Middleware.Approot.
Since: 3.0.7
newtype RequestSizeException Source #
see requestSizeCheck
Since: 3.0.15
Instances
Exception RequestSizeException Source # | |
Defined in Network.Wai.Request | |
Show RequestSizeException Source # | |
Defined in Network.Wai.Request showsPrec :: Int -> RequestSizeException -> ShowS # show :: RequestSizeException -> String # showList :: [RequestSizeException] -> ShowS # | |
Eq RequestSizeException Source # | |
Defined in Network.Wai.Request (==) :: RequestSizeException -> RequestSizeException -> Bool # (/=) :: RequestSizeException -> RequestSizeException -> Bool # | |
Ord RequestSizeException Source # | |
Defined in Network.Wai.Request compare :: RequestSizeException -> RequestSizeException -> Ordering # (<) :: RequestSizeException -> RequestSizeException -> Bool # (<=) :: RequestSizeException -> RequestSizeException -> Bool # (>) :: RequestSizeException -> RequestSizeException -> Bool # (>=) :: RequestSizeException -> RequestSizeException -> Bool # max :: RequestSizeException -> RequestSizeException -> RequestSizeException # min :: RequestSizeException -> RequestSizeException -> RequestSizeException # |
requestSizeCheck :: Word64 -> Request -> IO Request Source #
Check request body size to avoid server crash when request is too large.
This function first checks
, if content-length is known
but larger than limit, or it's unknown but we have received too many chunks,
a requestBodyLength
RequestSizeException
are thrown when user use
to extract
request body inside IO.requestBody
Since: 3.0.15