X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FHttpVersion.hs;fp=Network%2FHTTP%2FLucu%2FHttpVersion.hs;h=9b955d37fd9644beb912feb1808a1f2982dd97b9;hb=3c7a58ab749a55a30466a033b170536bcdf18b98;hp=88dc24e5b61673726da5f31e70d184e42b9cf48f;hpb=9961a721f98b101825ef154a2122c1fc2fa6d1ac;p=Lucu.git diff --git a/Network/HTTP/Lucu/HttpVersion.hs b/Network/HTTP/Lucu/HttpVersion.hs index 88dc24e..9b955d3 100644 --- a/Network/HTTP/Lucu/HttpVersion.hs +++ b/Network/HTTP/Lucu/HttpVersion.hs @@ -1,15 +1,20 @@ module Network.HTTP.Lucu.HttpVersion ( HttpVersion(..) - , httpVersionP -- Parser HttpVersion + , httpVersionP -- Parser HttpVersion + , hPutHttpVersion -- Handle -> HttpVersion -> IO () ) where import qualified Data.ByteString.Lazy.Char8 as B import Data.ByteString.Lazy.Char8 (ByteString) import Network.HTTP.Lucu.Parser +import System.IO data HttpVersion = HttpVersion Int Int - deriving (Show, Eq) + deriving (Eq) + +instance Show HttpVersion where + show (HttpVersion maj min) = "HTTP/" ++ show maj ++ "." ++ show min instance Ord HttpVersion where (HttpVersion majA minA) `compare` (HttpVersion majB minB) @@ -27,3 +32,10 @@ httpVersionP = do string "HTTP/" minor <- many1 digit return $ HttpVersion (read major) (read minor) + +hPutHttpVersion :: Handle -> HttpVersion -> IO () +hPutHttpVersion h (HttpVersion maj min) + = do hPutStr h "HTTP/" + hPutStr h (show maj) + hPutChar h '.' + hPutStr h (show min) \ No newline at end of file