X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=Rakka%2FResource%2FPageEntity.hs;h=e354004728c746caa043200d2c1ef9b336e39ec4;hb=ed0a2de09fc91fbd25c3ee82a722ef88793f2a8f;hp=09b5ecd367caa2ab24569f595447070f98d45f7b;hpb=b4c0033f297c28d95ad9298b489126331224bc42;p=Rakka.git diff --git a/Rakka/Resource/PageEntity.hs b/Rakka/Resource/PageEntity.hs index 09b5ecd..e354004 100644 --- a/Rakka/Resource/PageEntity.hs +++ b/Rakka/Resource/PageEntity.hs @@ -55,19 +55,20 @@ fallbackPageEntity env path handleGet :: Environment -> PageName -> Resource () handleGet env name - = runIdempotentA $ proc () - -> do pageM <- getPageA (envStorage env) -< (name, Nothing) - case pageM of - Nothing - -> do items <- getDirContentsA (envStorage env) -< (name, Nothing) - case items of - [] -> handlePageNotFound env -< name - _ -> handleGetPageListing env -< (name, items) - Just page - -> if isEntity page then - handleGetEntity env -< page - else - handleRedirect env -< page + = do BaseURI baseURI <- getSysConf (envSysConf env) + runIdempotentA baseURI $ proc () + -> do pageM <- getPageA (envStorage env) -< (name, Nothing) + case pageM of + Nothing + -> do items <- getDirContentsA (envStorage env) -< (name, Nothing) + case items of + [] -> handlePageNotFound env -< name + _ -> handleGetPageListing env -< (name, items) + Just page + -> if isEntity page then + handleGetEntity env -< page + else + handleRedirect env -< page {- @@ -134,7 +135,7 @@ entityToXHTML env += sattr "xmlns" "http://www.w3.org/1999/xhtml" += ( getXPathTreesInDoc "/page/@lang" `guards` - qattr (QN "xml" "lang" "") + qattr (mkQName "xml" "lang" "") ( getXPathTreesInDoc "/page/@lang/text()" ) ) += ( eelem "head"