]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Implant.hs
Code clean-up using convertible-text
[Lucu.git] / Network / HTTP / Lucu / Implant.hs
index f80ac99cfdbc768bcb0f931ed50f0058b1364129..58e2b2e97e618f92dc77027ef1ba033edb9e9894 100644 (file)
@@ -17,19 +17,19 @@ module Network.HTTP.Lucu.Implant
     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 {
@@ -77,13 +77,7 @@ openInput fpath ctype etag
 
 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
@@ -94,5 +88,5 @@ guessType = guessTypeByFileName defaultExtensionMap
 
 mkETagFromInput ∷ L.ByteString → ETag
 mkETagFromInput input
-    = strongETag $ A.unsafeFromString
+    = strongETag $ convertUnsafe
                  $ "SHA-1:" ⧺ showDigest (sha1 input)