1 module Network.HTTP.Lucu.HttpVersion
3 , httpVersionP -- Parser HttpVersion
4 , hPutHttpVersion -- Handle -> HttpVersion -> IO ()
8 import qualified Data.ByteString.Lazy.Char8 as B
9 import Data.ByteString.Lazy.Char8 (ByteString)
10 import Network.HTTP.Lucu.Parser
13 data HttpVersion = HttpVersion Int Int
16 instance Show HttpVersion where
17 show (HttpVersion maj min) = "HTTP/" ++ show maj ++ "." ++ show min
19 instance Ord HttpVersion where
20 (HttpVersion majA minA) `compare` (HttpVersion majB minB)
28 httpVersionP :: Parser HttpVersion
29 httpVersionP = do string "HTTP/"
33 return $ HttpVersion (read major) (read minor)
36 hPutHttpVersion :: Handle -> HttpVersion -> IO ()
37 hPutHttpVersion h (HttpVersion maj min)
38 = do hPutStr h "HTTP/"