1 {-# LANGUAGE FlexibleContexts #-}
2 module Data.Time.HTTP.Parsec
9 import Data.Time.RFC1123.Parsec
10 import Data.Time.RFC733.Parsec
11 import Data.Time.Asctime.Parsec
14 -- |This is a parsec parser for date and time formats allowed in
15 -- HTTP\/1.1 (RFC 2616).
16 rfc2616DateAndTime :: Stream s m Char => ParsecT s u m UTCTime
18 = choice [ liftM zonedTimeToUTC $ try rfc1123DateAndTime
19 , liftM zonedTimeToUTC $ try rfc733DateAndTime
20 , liftM (localTimeToUTC utc) $ asctime