]> gitweb @ CieloNegro.org - Lucu.git/blob - Network/HTTP/Lucu/HttpVersion.hs
Initial Import
[Lucu.git] / Network / HTTP / Lucu / HttpVersion.hs
1 module Network.HTTP.Lucu.HttpVersion
2     ( HttpVersion(..)
3     , httpVersionP -- Parser HttpVersion
4     )
5     where
6
7 import qualified Data.ByteString.Lazy.Char8 as B
8 import           Data.ByteString.Lazy.Char8 (ByteString)
9 import           Network.HTTP.Lucu.Parser
10
11 data HttpVersion = HttpVersion Int Int
12                    deriving (Show, Eq)
13
14 instance Ord HttpVersion where
15     (HttpVersion majA minA) `compare` (HttpVersion majB minB)
16         | majA > majB = GT
17         | majA < majB = LT
18         | minA > minB = GT
19         | minA < minB = LT
20         | otherwise   = EQ
21
22
23 httpVersionP :: Parser HttpVersion
24 httpVersionP = do string "HTTP/"
25                   major <- many1 digit
26                   char '.'
27                   minor <- many1 digit
28                   return $ HttpVersion (read major) (read minor)
29