module Network.HTTP.Lucu.HttpVersion ( HttpVersion(..) , httpVersionP -- Parser HttpVersion ) where import qualified Data.ByteString.Lazy.Char8 as B import Data.ByteString.Lazy.Char8 (ByteString) import Network.HTTP.Lucu.Parser data HttpVersion = HttpVersion Int Int deriving (Show, Eq) instance Ord HttpVersion where (HttpVersion majA minA) `compare` (HttpVersion majB minB) | majA > majB = GT | majA < majB = LT | minA > minB = GT | minA < minB = LT | otherwise = EQ httpVersionP :: Parser HttpVersion httpVersionP = do string "HTTP/" major <- many1 digit char '.' minor <- many1 digit return $ HttpVersion (read major) (read minor)