--- #prune
+{-# OPTIONS_HADDOCK prune #-}
-- |Definition of things related on HTTP request.
--
)
where
-import qualified Data.ByteString.Lazy.Char8 as B
-import Data.ByteString.Lazy.Char8 (ByteString)
import Network.HTTP.Lucu.Headers
import Network.HTTP.Lucu.HttpVersion
import Network.HTTP.Lucu.Parser
| DELETE
| TRACE
| CONNECT
- | ExtensionMethod String
+ | ExtensionMethod !String
deriving (Eq, Show)
-- |This is the definition of HTTP reqest.
data Request
= Request {
- reqMethod :: Method
- , reqURI :: URI
- , reqVersion :: HttpVersion
- , reqHeaders :: Headers
+ reqMethod :: !Method
+ , reqURI :: !URI
+ , reqVersion :: !HttpVersion
+ , reqHeaders :: !Headers
}
deriving (Show, Eq)
, ("TRACE" , TRACE )
, ("CONNECT", CONNECT)
]
- in foldl (<|>) (fail "") $ map (\ (str, mth)
+ in foldl (<|>) failP $ map (\ (str, mth)
-> string str >> return mth) methods)
<|>
token >>= return . ExtensionMethod
uriP :: Parser URI
uriP = do str <- many1 $ satisfy (\ c -> not (isCtl c || c == ' '))
case parseURIReference str of
- Nothing -> fail ""
+ Nothing -> failP
Just uri -> return uri
\ No newline at end of file