]> gitweb @ CieloNegro.org - time-http.git/blobdiff - Data/Time/HTTP/Internal.hs
RFC1123
[time-http.git] / Data / Time / HTTP / Internal.hs
index 6e0753dc1580bb49ed0890022988a3d98d25905b..b008d9da6911d530050ae3d91a32efbf94afcd75 100644 (file)
@@ -10,8 +10,10 @@ module Data.Time.HTTP.Internal
 import Control.Applicative
 import Data.Ascii (AsciiBuilder)
 import Data.Attoparsec.Char8
+import Data.Convertible.Base
+import Data.Tagged
 import Data.Time
-import qualified Data.Time.RFC1123.Internal as RFC1123
+import Data.Time.RFC1123
 import Data.Time.RFC733
 import Data.Time.Asctime
 import Prelude.Unicode
@@ -20,17 +22,23 @@ import Prelude.Unicode
 -- (RFC 2616).
 httpDateAndTime ∷ Parser UTCTime
 httpDateAndTime
-    = choice [ zonedTimeToUTC     <$> try RFC1123.rfc1123DateAndTime
+    = choice [ zonedTimeToUTC     <$> try rfc1123DateAndTime
              , zonedTimeToUTC     <$> try rfc733DateAndTime
              , localTimeToUTC utc <$> asctime
              ]
 
 -- |Convert a 'UTCTime' to RFC 1123 date and time string.
 toAsciiBuilder ∷ UTCTime → AsciiBuilder
-toAsciiBuilder = RFC1123.toAsciiBuilder ∘ ut2zt
+toAsciiBuilder = untag' ∘ cs ∘ ut2zt
     where
+      untag' ∷ Tagged RFC1123 AsciiBuilder → AsciiBuilder
+      {-# INLINE CONLIKE untag' #-}
+      untag' = untag
+
       ut2zt ∷ UTCTime → ZonedTime
+      {-# INLINE ut2zt #-}
       ut2zt = utcToZonedTime gmt
 
       gmt ∷ TimeZone
+      {-# INLINE CONLIKE gmt #-}
       gmt = TimeZone 0 False "GMT"