, UnicodeSyntax
, ViewPatterns
#-}
--- |Definition of things related on HTTP response.
+-- |Definition of HTTP responses.
module Network.HTTP.Lucu.Response
- ( -- * Class and Types
- StatusCode(..)
- , SomeStatusCode
- , Response(..)
- , statusCodes
- , module Network.HTTP.Lucu.StatusCode
-
- -- * Functions
+ ( Response(..)
+
, emptyResponse
, setStatusCode
, resCanHaveBody
import Data.Convertible.Base
import Data.Convertible.Instances.Ascii ()
import Data.Convertible.Utils
-import Data.Eq.Indirect
import Data.Monoid.Unicode
import Network.HTTP.Lucu.Headers
import Network.HTTP.Lucu.HttpVersion
-import Network.HTTP.Lucu.StatusCode
-import Network.HTTP.Lucu.StatusCode.Internal
+import Network.HTTP.Lucu.Response.StatusCode
import Prelude.Unicode
-- |This is the definition of an HTTP response.
resCanHaveBody ∷ Response → Bool
{-# INLINEABLE resCanHaveBody #-}
resCanHaveBody (Response {..})
- | isInformational resStatus = False
- | resStatus ≡: NoContent = False
- | resStatus ≡: ResetContent = False
- | resStatus ≡: NotModified = False
- | otherwise = True
+ | isInformational resStatus = False
+ | resStatus ≡ cs NoContent = False
+ | resStatus ≡ cs ResetContent = False
+ | resStatus ≡ cs NotModified = False
+ | otherwise = True
-- |@'isInformational' sc@ returns 'True' iff @sc '<' 200@.
isInformational ∷ StatusCode sc ⇒ sc → Bool