X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FResource%2FPageEntity.hs;h=37c2aa8a85b9e8e914f5d388d4f923aa3d14122a;hb=b4a3d2cf3854b10d923cb4c546bf1fe32b021a68;hp=4515a4d49e99eefd9b411b929cc20a21c4190d73;hpb=9681bedbfde02fa1bcda4fbbacba941378c7a57a;p=Rakka.git diff --git a/Rakka/Resource/PageEntity.hs b/Rakka/Resource/PageEntity.hs index 4515a4d..37c2aa8 100644 --- a/Rakka/Resource/PageEntity.hs +++ b/Rakka/Resource/PageEntity.hs @@ -52,10 +52,10 @@ handleGet env name Nothing -> handlePageNotFound env -< name - Just redir@(Redirection _ _ _ _) + Just redir@(Redirection _ _ _ _ _) -> handleRedirect env -< redir - Just entity@(Entity _ _ _ _ _ _ _ _ _ _ _ _ _ _) + Just entity@(Entity _ _ _ _ _ _ _ _ _ _ _ _ _ _ _) -> handleGetEntity env -< entity {- @@ -76,12 +76,12 @@ handleGetEntity env returnA -< do -- text/x-rakka の場合は、内容が動的に生成され -- てゐる可能性があるので、ETag も -- Last-Modified も返す事が出來ない。 - case pageType page of + case entityType page of MIMEType "text" "x-rakka" _ -> return () - _ -> case pageRevision page of - 0 -> foundTimeStamp (pageLastMod page) -- 0 はデフォルトページ - rev -> foundEntity (strongETag $ show rev) (pageLastMod page) + _ -> case entityRevision page of + 0 -> foundTimeStamp (entityLastMod page) -- 0 はデフォルトページ + rev -> foundEntity (strongETag $ show rev) (entityLastMod page) outputXmlPage tree (entityToXHTML env) @@ -271,4 +271,6 @@ notFoundToXHTML env handlePut :: Environment -> PageName -> Resource () handlePut env name = runXmlA env "rakka-page-1.0.rng" $ proc tree - -> returnA -< do setStatus Created + -> do page <- parseXmlizedPage -< (name, tree) + status <- putPageA (envStorage env) -< page + returnA -< setStatus status