X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FResponse.hs;h=4954bc2654ffb273091dc1c2b5111308cd2a6c07;hb=73b5fba4907604681d778d3bd54cd65fd84b4454;hp=8adf88a27ba207597d00d26403e440cd02b80358;hpb=3d017dd65ddede9a11c5b7a34a91e04340e67bc4;p=Lucu.git diff --git a/Network/HTTP/Lucu/Response.hs b/Network/HTTP/Lucu/Response.hs index 8adf88a..4954bc2 100644 --- a/Network/HTTP/Lucu/Response.hs +++ b/Network/HTTP/Lucu/Response.hs @@ -1,4 +1,4 @@ --- #prune +{-# OPTIONS_HADDOCK prune #-} -- |Definition of things related on HTTP response. module Network.HTTP.Lucu.Response @@ -19,9 +19,9 @@ import qualified Data.ByteString as Strict (ByteString) import qualified Data.ByteString.Char8 as C8 hiding (ByteString) import Data.Dynamic import Network.HTTP.Lucu.Format +import Network.HTTP.Lucu.HandleLike import Network.HTTP.Lucu.Headers import Network.HTTP.Lucu.HttpVersion -import System.IO -- |This is the definition of HTTP status code. -- 'Network.HTTP.Lucu.Resource.setStatus' accepts these named statuses @@ -97,23 +97,23 @@ instance HasHeaders Response where setHeaders res hdr = res { resHeaders = hdr } -hPutResponse :: Handle -> Response -> IO () +hPutResponse :: HandleLike h => h -> Response -> IO () hPutResponse h res = h `seq` res `seq` do hPutHttpVersion h (resVersion res) hPutChar h ' ' hPutStatus h (resStatus res) - C8.hPut h (C8.pack "\r\n") + hPutBS h (C8.pack "\r\n") hPutHeaders h (resHeaders res) -hPutStatus :: Handle -> StatusCode -> IO () +hPutStatus :: HandleLike h => h -> StatusCode -> IO () hPutStatus h sc = h `seq` sc `seq` case statusCode sc of (# num, msg #) -> do hPutStr h (fmtDec 3 num) hPutChar h ' ' - C8.hPut h msg + hPutBS h msg -- |@'isInformational' sc@ is 'Prelude.True' iff @sc < 200@.