From 85249b64e15dea5b329a79985db59399b6927535 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 21 Sep 2009 23:26:43 +0300 Subject: [PATCH] Minor bug fixes --- Web/Restful/Application.hs | 14 +++++++------- Web/Restful/Response/Sitemap.hs | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Web/Restful/Application.hs b/Web/Restful/Application.hs index 6f4f72ac..8236b97a 100644 --- a/Web/Restful/Application.hs +++ b/Web/Restful/Application.hs @@ -116,21 +116,21 @@ toHackApplication :: RestfulApp resourceName model -> Hack.Application toHackApplication sampleRN hm env = do let (Right resource) = splitPath $ Hack.pathInfo env - let (handler, urlParams') = + let (handler, urlParams', wrapper) = case findResourceNames resource of - [] -> (notFound, []) + [] -> (notFound, [], const return) [(rn, urlParams'')] -> let verb = toVerb $ Hack.requestMethod env - in (hm rn verb, urlParams'') + in (hm rn verb, urlParams'', responseWrapper rn) x -> error $ "Invalid findResourceNames: " ++ show x let rr = envToRawRequest urlParams' env let rawHttpAccept = tryLookup "" "Accept" $ Hack.http env ctypes' = parseHttpAccept rawHttpAccept runHandler (errorHandler sampleRN rr) - (responseWrapper sampleRN) - ctypes' - handler - rr + wrapper + ctypes' + handler + rr envToRawRequest :: [(ParamName, ParamValue)] -> Hack.Env -> RawRequest envToRawRequest urlParams' env = diff --git a/Web/Restful/Response/Sitemap.hs b/Web/Restful/Response/Sitemap.hs index 7bce9561..e2e9a736 100644 --- a/Web/Restful/Response/Sitemap.hs +++ b/Web/Restful/Response/Sitemap.hs @@ -88,7 +88,8 @@ instance HasReps SitemapResponse where [ ("text/xml", toLazyByteString $ show res) ] -sitemap :: IO [SitemapUrl] -> SitemapRequest -> Handler -sitemap urls' req = do +sitemap :: IO [SitemapUrl] -> Handler +sitemap urls' = do + req <- getRequest urls <- liftIO urls' return $ reps $ SitemapResponse req urls