[guestbook: instead of passing renderFromBody into getEntries, have guestBookHandler return just a fragment of page that gets wrapped up jeremy@n-heptane.com**20090310042143] hunk ./happstack/templates/project/src/App/Control.hs 14 - , guestBookHandler renderFromBody + , renderFromBody "GuestBook" =<< guestBookHandler hunk ./happstack/templates/project/src/GuestBook/Control.hs 2 +{-# OPTIONS_GHC -F -pgmFtrhsx #-} hunk ./happstack/templates/project/src/GuestBook/Control.hs 9 -import GuestBook.State (GuestBook(..),GuestBookEntry(..),AddGuestBookEntry(..),ReadGuestBook(..)) +import GuestBook.State (GuestBookEntry(..),AddGuestBookEntry(..),ReadGuestBook(..)) +import GuestBook.View hunk ./happstack/templates/project/src/GuestBook/Control.hs 17 -guestBookHandler :: (String -> GuestBook -> ServerPartT IO Response) -> ServerPartT IO Response -guestBookHandler renderFromBody = - dir "entries" $ msum [postEntry, getEntries renderFromBody] -- RESTful /entries +guestBookHandler :: ServerPartT IO (HSP XML) +guestBookHandler = + dir "entries" $ msum [postEntry, getEntries] -- RESTful /entries hunk ./happstack/templates/project/src/GuestBook/Control.hs 21 -postEntry :: ServerPartT IO Response +postEntry :: ServerPartT IO (HSP XML) hunk ./happstack/templates/project/src/GuestBook/Control.hs 26 - seeOther "/entries" (toResponse ()) + seeOther "/entries" (seeOtherXML "/entries") hunk ./happstack/templates/project/src/GuestBook/Control.hs 30 -getEntries :: (String -> GuestBook -> ServerPartT IO Response) -> ServerPartT IO Response -getEntries renderFromBody = +getEntries :: ServerPartT IO (HSP XML) +getEntries = hunk ./happstack/templates/project/src/GuestBook/Control.hs 33 - do gb <- query ReadGuestBook - renderFromBody "Happstack Guestbook Example" gb - -{- - gb <- - renderFromBody "Happstack Guestbook Example" gb - -} + do gb <- query ReadGuestBook + ok $
<% gb %>
-- FIXME: remove
hunk ./happstack/templates/project/src/GuestBook/Control.hs 42 - hunk ./happstack/templates/project/src/GuestBook/View.hs 6 -import HSP +import HSP +import qualified HSX.XMLGenerator as HSX (XML) hunk ./happstack/templates/project/src/GuestBook/View.hs 46 +seeOtherXML :: (XMLGenerator m) => String -> XMLGenT m (HSX.XML m) +seeOtherXML url = <% url %>