Safe Haskell | None |
---|---|
Language | Haskell2010 |
Some helpers for interrogating a WAI Request
.
- appearsSecure :: Request -> Bool
- guessApproot :: Request -> ByteString
- data 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
data RequestSizeException Source
see requestSizeCheck
Since: 3.0.15
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