3 -- |Manipulation of HTTP version string.
4 module Network.HTTP.Lucu.HttpVersion
11 import qualified Data.ByteString.Lazy.Char8 as B
12 import Data.ByteString.Lazy.Char8 (ByteString)
13 import Network.HTTP.Lucu.Parser
16 -- |@'HttpVersion' major minor@ represents \"HTTP\/major.minor\".
17 data HttpVersion = HttpVersion Int Int
20 instance Show HttpVersion where
21 show (HttpVersion maj min) = "HTTP/" ++ show maj ++ "." ++ show min
23 instance Ord HttpVersion where
24 (HttpVersion majA minA) `compare` (HttpVersion majB minB)
32 httpVersionP :: Parser HttpVersion
33 httpVersionP = do string "HTTP/"
37 return $ HttpVersion (read major) (read minor)
40 hPutHttpVersion :: Handle -> HttpVersion -> IO ()
41 hPutHttpVersion h (HttpVersion maj min)
42 = do hPutStr h "HTTP/"