]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/StaticFile.hs
Code clean-up using convertible-text.
[Lucu.git] / Network / HTTP / Lucu / StaticFile.hs
index 5b5eb9734e3a68441516f36a86ada99269ea7888..6dd47af6ff465c278842b8947a9180320ea7efca 100644 (file)
@@ -15,6 +15,9 @@ import Control.Monad.Unicode
 import Control.Monad.Trans
 import Data.ByteString (ByteString)
 import qualified Data.ByteString.Lazy.Char8 as LBS
+import Data.Convertible.Base
+import Data.Convertible.Instances.Text ()
+import Data.Monoid.Unicode
 import Data.String
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
@@ -35,7 +38,7 @@ import System.FilePath
 -- @fpath@ on the filesystem.
 staticFile ∷ FilePath → Resource
 staticFile path
-    = emptyResource {
+    = (∅) {
         resGet  = Just $ handleStaticFile True  path
       , resHead = Just $ handleStaticFile False path
       }
@@ -71,18 +74,18 @@ handleStaticFile sendContent path
              $ liftIO (LBS.readFile path) ≫= putChunks
 
 -- | @'staticDir' dir@ is a 'Resource' which maps all files in @dir@
--- and its subdirectories on the filesystem to the
--- 'Network.HTTP.Lucu.Resource.Tree.ResTree'.
+-- and its subdirectories on the filesystem to the resource tree. Thus
+-- having 'Network.HTTP.Lucu.nonGreedy' 'staticDir' in a tree makes no
+-- sense.
 --
 -- Note that 'staticDir' currently doesn't have a directory-listing
 -- capability. Requesting the content of a directory will end up being
 -- replied with /403 Forbidden/.
 staticDir ∷ FilePath → Resource
 staticDir path
-    = emptyResource {
-        resIsGreedy = True
-      , resGet      = Just $ handleStaticDir True  path
-      , resHead     = Just $ handleStaticDir False path
+    = (∅) {
+        resGet  = Just $ handleStaticDir True  path
+      , resHead = Just $ handleStaticDir False path
       }
 
 -- TODO: implement directory listing.
@@ -94,7 +97,7 @@ handleStaticDir sendContent basePath
          handleStaticFile sendContent path
     where
       dec8 ∷ ByteString → String
-      dec8 = T.unpack ∘ T.decodeUtf8
+      dec8 = cs ∘ T.decodeUtf8
 
 securityCheck ∷ (Eq s, Show s, IsString s, Monad m) ⇒ [s] → m ()
 securityCheck pathElems