]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Response.hs
Haddock overhaul
[Lucu.git] / Network / HTTP / Lucu / Response.hs
index 547947b4726b94240f1e909bc0180f7f2e5e5f68..5c25b543006a7320a6ec05968aa02d3eda6eb848 100644 (file)
@@ -13,6 +13,7 @@ module Network.HTTP.Lucu.Response
     , printStatusCode
 
     , Response(..)
+    , emptyResponse
     , resCanHaveBody
     , printResponse
 
@@ -36,8 +37,8 @@ import Network.HTTP.Lucu.Utils
 import Prelude.Unicode
 
 -- |This is the definition of HTTP status code.
--- 'Network.HTTP.Lucu.Resource.setStatus' accepts these named statuses
--- so you don't have to memorize, for instance, that \"Gateway
+-- 'Network.HTTP.Lucu.Resource.setStatus' accepts these named status
+-- codes so you don't have to memorize, for instance, that \"Gateway
 -- Timeout\" is 504.
 data StatusCode = Continue
                 | SwitchingProtocols
@@ -91,7 +92,7 @@ data StatusCode = Continue
                 | InsufficientStorage
                   deriving (Eq, Show, Typeable)
 
--- |Convert a 'StatusCode' to 'AsciiBuilder'.
+-- |Convert a 'StatusCode' to an 'AsciiBuilder'.
 printStatusCode ∷ StatusCode → AsciiBuilder
 {-# INLINEABLE printStatusCode #-}
 printStatusCode (statusCode → (# num, msg #))
@@ -100,6 +101,7 @@ printStatusCode (statusCode → (# num, msg #))
         A.toAsciiBuilder msg
       )
 
+-- |This is the definition of an HTTP response.
 data Response = Response {
       resVersion ∷ !HttpVersion
     , resStatus  ∷ !StatusCode
@@ -107,11 +109,18 @@ data Response = Response {
     } deriving (Show, Eq)
 
 instance HasHeaders Response where
-    {-# INLINE getHeaders #-}
-    getHeaders = resHeaders
-    {-# INLINE setHeaders #-}
+    getHeaders         = resHeaders
     setHeaders res hdr = res { resHeaders = hdr }
 
+-- |Returns an HTTP\/1.1 'Response' with no header fields.
+emptyResponse ∷ StatusCode → Response
+emptyResponse sc
+    = Response {
+        resVersion = HttpVersion 1 1
+      , resStatus  = sc
+      , resHeaders = (∅)
+      }
+
 -- |Returns 'True' iff a given 'Response' allows the existence of
 -- response entity body.
 resCanHaveBody ∷ Response → Bool