+-- -*- Coding: utf-8 -*-
module Rakka.Resource.Object
( resObject
)
import Rakka.Page
import Rakka.Storage
import Rakka.SystemConfig
-import System.Time
resObject :: Environment -> ResourceDef
handleGet :: Environment -> PageName -> Resource ()
handleGet env name
- = do pageM <- getPage (envStorage env) name
+ = do pageM <- getPage (envStorage env) name Nothing
case pageM of
Nothing
-> foundNoEntity Nothing
-> handleRedirect env redir
Just entity@(Entity _ _ _ _ _ _ _ _ _ _ _ _ _ _)
- -> handleGetEntity env entity
+ -> handleGetEntity entity
{-
...
-}
-handleGetEntity :: Environment -> Page -> Resource ()
-handleGetEntity env page
- = do let lastMod = toClockTime $ pageLastMod page
-
- case pageRevision page of
- 0 -> foundTimeStamp lastMod -- 0 はデフォルトページ
- rev -> foundEntity (strongETag $ show rev) lastMod
+handleGetEntity :: Page -> Resource ()
+handleGetEntity page
+ = do case pageRevision page of
+ 0 -> foundTimeStamp (pageLastMod page) -- 0 はデフォルトページ
+ rev -> foundEntity (strongETag $ show rev) (pageLastMod page)
setContentType (pageType page)
setHeader (C8.pack "Content-Disposition")