X-Git-Url: https://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FResource%2FPageEntity.hs;fp=Rakka%2FResource%2FPageEntity.hs;h=a1d4b02e85da6c2430dad72d61c60d7a7d7d2097;hp=690695e881bc73c58c6a4c1b127064112fb1e81a;hb=98fd1cb53a837a9bda7145544c34872acb13a634;hpb=e57027f2f85dcef6f5bd0e7ed141f04704c092f9 diff --git a/Rakka/Resource/PageEntity.hs b/Rakka/Resource/PageEntity.hs index 690695e..a1d4b02 100644 --- a/Rakka/Resource/PageEntity.hs +++ b/Rakka/Resource/PageEntity.hs @@ -28,22 +28,21 @@ import Text.XML.HXT.XPath fallbackPageEntity :: Environment -> [String] -> IO (Maybe ResourceDef) fallbackPageEntity env path - | null path = return Nothing - | null $ head path = return Nothing - | isLower $ head $ head path = return Nothing -- 先頭の文字が小文字であってはならない + | null name = return Nothing + | isLower $ head name = return Nothing -- 先頭の文字が小文字であってはならない | otherwise = return $ Just $ ResourceDef { resUsesNativeThread = False , resIsGreedy = True - , resGet = Just $ handleGet env (toPageName path) + , resGet = Just $ handleGet env name , resHead = Nothing , resPost = Nothing - , resPut = Just $ handlePut env (toPageName path) - , resDelete = Just $ handleDelete env (toPageName path) + , resPut = Just $ handlePut env name + , resDelete = Just $ handleDelete env name } where - toPageName :: [String] -> PageName - toPageName = decodePageName . dropExtension . joinPath + name :: PageName + name = (dropExtension . UTF8.decodeString . joinPath) path handleGet :: Environment -> PageName -> Resource ()