module Network.Minio.Data.Time
( awsTimeFormat,
awsTimeFormatBS,
awsDateFormat,
awsDateFormatBS,
awsParseTime,
iso8601TimeFormat,
UrlExpiry,
)
where
import Data.ByteString.Char8 (pack)
import qualified Data.Time as Time
import Lib.Prelude
type UrlExpiry = Int
awsTimeFormat :: UTCTime -> [Char]
awsTimeFormat :: UTCTime -> [Char]
awsTimeFormat = TimeLocale -> [Char] -> UTCTime -> [Char]
forall t. FormatTime t => TimeLocale -> [Char] -> t -> [Char]
Time.formatTime TimeLocale
Time.defaultTimeLocale [Char]
"%Y%m%dT%H%M%SZ"
awsTimeFormatBS :: UTCTime -> ByteString
awsTimeFormatBS :: UTCTime -> ByteString
awsTimeFormatBS = [Char] -> ByteString
pack ([Char] -> ByteString)
-> (UTCTime -> [Char]) -> UTCTime -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UTCTime -> [Char]
awsTimeFormat
awsDateFormat :: UTCTime -> [Char]
awsDateFormat :: UTCTime -> [Char]
awsDateFormat = TimeLocale -> [Char] -> UTCTime -> [Char]
forall t. FormatTime t => TimeLocale -> [Char] -> t -> [Char]
Time.formatTime TimeLocale
Time.defaultTimeLocale [Char]
"%Y%m%d"
awsDateFormatBS :: UTCTime -> ByteString
awsDateFormatBS :: UTCTime -> ByteString
awsDateFormatBS = [Char] -> ByteString
pack ([Char] -> ByteString)
-> (UTCTime -> [Char]) -> UTCTime -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UTCTime -> [Char]
awsDateFormat
awsParseTime :: [Char] -> Maybe UTCTime
awsParseTime :: [Char] -> Maybe UTCTime
awsParseTime = Bool -> TimeLocale -> [Char] -> [Char] -> Maybe UTCTime
forall (m :: * -> *) t.
(MonadFail m, ParseTime t) =>
Bool -> TimeLocale -> [Char] -> [Char] -> m t
Time.parseTimeM Bool
False TimeLocale
Time.defaultTimeLocale [Char]
"%Y%m%dT%H%M%SZ"
iso8601TimeFormat :: UTCTime -> [Char]
iso8601TimeFormat :: UTCTime -> [Char]
iso8601TimeFormat = TimeLocale -> [Char] -> UTCTime -> [Char]
forall t. FormatTime t => TimeLocale -> [Char] -> t -> [Char]
Time.formatTime TimeLocale
Time.defaultTimeLocale (Maybe [Char] -> [Char]
Time.iso8601DateFormat (Maybe [Char] -> [Char]) -> Maybe [Char] -> [Char]
forall a b. (a -> b) -> a -> b
$ [Char] -> Maybe [Char]
forall a. a -> Maybe a
Just [Char]
"%T%QZ")