where
import Codec.Compression.GZip
import Control.Applicative
-import qualified Data.Ascii as A
import qualified Data.ByteString.Lazy as L
+import Data.Convertible.Base
+import Data.Convertible.Instances.Ascii ()
import Data.Digest.Pure.SHA
import Data.Maybe
import Data.Time
-import Data.Time.Clock.POSIX
import Network.HTTP.Lucu.ETag
import Network.HTTP.Lucu.MIMEType hiding (mimeType)
import Network.HTTP.Lucu.MIMEType.DefaultExtensionMap
import Network.HTTP.Lucu.MIMEType.Guess
import Network.HTTP.Lucu.MIMEType.TH
+import Network.HTTP.Lucu.Utils
import Prelude.Unicode
-import System.Posix.Files
data Input
= Input {
lastModified ∷ FilePath → IO UTCTime
lastModified "-" = getCurrentTime
-lastModified fpath = ( posixSecondsToUTCTime
- ∘ fromRational
- ∘ toRational
- ∘ modificationTime
- )
- <$>
- getFileStatus fpath
+lastModified fpath = getLastModified fpath
openInputFile ∷ FilePath → IO L.ByteString
openInputFile "-" = L.getContents
mkETagFromInput ∷ L.ByteString → ETag
mkETagFromInput input
- = strongETag $ A.unsafeFromString
+ = strongETag $ convertUnsafe
$ "SHA-1:" ⧺ showDigest (sha1 input)