StatusCode(..)
, SomeStatusCode(..)
, Response(..)
+ , statusCodes
, module Network.HTTP.Lucu.StatusCode
-- * Functions
, emptyResponse
+ , setStatusCode
, resCanHaveBody
, printStatusCode
, printResponse
+ , (≈)
+ , (≉)
, isInformational
, isSuccessful
, isRedirection
, resHeaders = (∅)
}
+-- |@'setStatusCode' sc res@ sets the status code of @res@ to @sc@.
+setStatusCode ∷ StatusCode sc ⇒ sc → Response → Response
+setStatusCode sc res
+ = res {
+ resStatus = fromStatusCode sc
+ }
+
-- |Returns 'True' iff a given 'Response' allows the existence of
-- response entity body.
resCanHaveBody ∷ Response → Bool
{-# INLINEABLE resCanHaveBody #-}
resCanHaveBody (Response {..})
- | isInformational resStatus = False
- | toStatusCode resStatus ≡ Just NoContent = False
- | toStatusCode resStatus ≡ Just ResetContent = False
- | toStatusCode resStatus ≡ Just NotModified = False
- | otherwise = True
+ | isInformational resStatus = False
+ | resStatus ≈ NoContent = False
+ | resStatus ≈ ResetContent = False
+ | resStatus ≈ NotModified = False
+ | otherwise = True
-- |Convert a 'Response' to 'AsciiBuilder'.
printResponse ∷ Response → AsciiBuilder