Some more rearranging

This commit is contained in:
Michael Snoyman 2013-03-11 07:29:43 +02:00
parent e673c1f35e
commit 81ec09bf63
6 changed files with 24 additions and 31 deletions

View File

@ -40,10 +40,6 @@ module Yesod.Content
, RepHtmlJson (..) , RepHtmlJson (..)
, RepPlain (..) , RepPlain (..)
, RepXml (..) , RepXml (..)
-- * Utilities
, formatW3
, formatRFC1123
, formatRFC822
) where ) where
import Data.Maybe (mapMaybe) import Data.Maybe (mapMaybe)
@ -52,9 +48,6 @@ import qualified Data.ByteString.Lazy as L
import Data.Text.Lazy (Text, pack) import Data.Text.Lazy (Text, pack)
import qualified Data.Text as T import qualified Data.Text as T
import Data.Time
import System.Locale
import qualified Data.Text.Encoding import qualified Data.Text.Encoding
import qualified Data.Text.Lazy.Encoding import qualified Data.Text.Lazy.Encoding
@ -222,18 +215,6 @@ typeOctet = "application/octet-stream"
simpleContentType :: ContentType -> ContentType simpleContentType :: ContentType -> ContentType
simpleContentType = fst . B.breakByte 59 -- 59 == ; simpleContentType = fst . B.breakByte 59 -- 59 == ;
-- | Format a 'UTCTime' in W3 format.
formatW3 :: UTCTime -> T.Text
formatW3 = T.pack . formatTime defaultTimeLocale "%FT%X-00:00"
-- | Format as per RFC 1123.
formatRFC1123 :: UTCTime -> T.Text
formatRFC1123 = T.pack . formatTime defaultTimeLocale "%a, %d %b %Y %X %Z"
-- | Format as per RFC 822.
formatRFC822 :: UTCTime -> T.Text
formatRFC822 = T.pack . formatTime defaultTimeLocale "%a, %d %b %Y %H:%M:%S %z"
instance HasReps a => HasReps (DontFullyEvaluate a) where instance HasReps a => HasReps (DontFullyEvaluate a) where
chooseRep (DontFullyEvaluate a) = fmap (fmap (fmap ContentDontEvaluate)) $ chooseRep a chooseRep (DontFullyEvaluate a) = fmap (fmap (fmap ContentDontEvaluate)) $ chooseRep a

View File

@ -1,12 +1,17 @@
module Yesod.Core.Time module Yesod.Core.Internal.Util
( putTime ( putTime
, getTime , getTime
, formatW3
, formatRFC1123
, formatRFC822
) where ) where
import Data.Int (Int64) import Data.Int (Int64)
import Data.Serialize (Get, Put, Serialize (..)) import Data.Serialize (Get, Put, Serialize (..))
import qualified Data.Text as T
import Data.Time (Day (ModifiedJulianDay, toModifiedJulianDay), import Data.Time (Day (ModifiedJulianDay, toModifiedJulianDay),
DiffTime, UTCTime (..)) DiffTime, UTCTime (..), formatTime)
import System.Locale (defaultTimeLocale)
putTime :: UTCTime -> Put putTime :: UTCTime -> Put
putTime (UTCTime d t) = putTime (UTCTime d t) =
@ -27,3 +32,15 @@ posixDayLength_int64 = 86400
diffTimeScale :: DiffTime diffTimeScale :: DiffTime
diffTimeScale = 1e12 diffTimeScale = 1e12
-- | Format a 'UTCTime' in W3 format.
formatW3 :: UTCTime -> T.Text
formatW3 = T.pack . formatTime defaultTimeLocale "%FT%X-00:00"
-- | Format as per RFC 1123.
formatRFC1123 :: UTCTime -> T.Text
formatRFC1123 = T.pack . formatTime defaultTimeLocale "%a, %d %b %Y %X %Z"
-- | Format as per RFC 822.
formatRFC822 :: UTCTime -> T.Text
formatRFC822 = T.pack . formatTime defaultTimeLocale "%a, %d %b %Y %H:%M:%S %z"

View File

@ -50,7 +50,7 @@ import Text.Blaze.Html (Html)
import Text.Hamlet (HtmlUrl) import Text.Hamlet (HtmlUrl)
import Text.Julius (JavascriptUrl) import Text.Julius (JavascriptUrl)
import Web.Cookie (SetCookie) import Web.Cookie (SetCookie)
import Yesod.Core.Time (getTime, putTime) import Yesod.Core.Internal.Util (getTime, putTime)
import Yesod.Core.Trans.Class (MonadLift (..)) import Yesod.Core.Trans.Class (MonadLift (..))
import Yesod.Routes.Class (RenderRoute (..)) import Yesod.Routes.Class (RenderRoute (..))

View File

@ -1,16 +1,11 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-} {-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeSynonymInstances #-}
--------------------------------------------------------- ---------------------------------------------------------
-- --
-- Module : Yesod.Handler -- Module : Yesod.Handler
@ -157,8 +152,8 @@ import qualified Network.Wai.Parse as NWP
import Text.Shakespeare.I18N (RenderMessage (..)) import Text.Shakespeare.I18N (RenderMessage (..))
import Web.Cookie (SetCookie (..)) import Web.Cookie (SetCookie (..))
import Yesod.Content (HasReps, chooseRep, import Yesod.Content (HasReps, chooseRep,
formatRFC1123, toContent) toContent)
import Yesod.Core.Internal.Util (formatRFC1123)
import Text.Blaze.Html (preEscapedToMarkup, toHtml) import Text.Blaze.Html (preEscapedToMarkup, toHtml)
import Control.Monad.Trans.Resource (ResourceT, runResourceT) import Control.Monad.Trans.Resource (ResourceT, runResourceT)

View File

@ -14,7 +14,7 @@ import Data.ByteString (ByteString)
import Control.Concurrent (forkIO, killThread, threadDelay) import Control.Concurrent (forkIO, killThread, threadDelay)
import Control.Monad (forever, guard) import Control.Monad (forever, guard)
import Yesod.Core.Types import Yesod.Core.Types
import Yesod.Core.Time import Yesod.Core.Internal.Util
import qualified Data.IORef as I import qualified Data.IORef as I
encodeClientSession :: CS.Key encodeClientSession :: CS.Key

View File

@ -98,7 +98,7 @@ library
Yesod.Core.Internal.Request Yesod.Core.Internal.Request
other-modules: Yesod.Internal.Core other-modules: Yesod.Internal.Core
Yesod.Internal.Session Yesod.Internal.Session
Yesod.Core.Time Yesod.Core.Internal.Util
Yesod.Core.Trans.Class Yesod.Core.Trans.Class
Yesod.Core.Run Yesod.Core.Run
Yesod.Core.Class Yesod.Core.Class