From a1df470d01bc39322f3ae9b4c653cb5186c21d5c Mon Sep 17 00:00:00 2001 From: Anupam Jain Date: Wed, 13 Jan 2016 10:47:50 +0530 Subject: [PATCH] Allow subsites within hierarchical routes --- yesod-core/Yesod/Routes/TH/Dispatch.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yesod-core/Yesod/Routes/TH/Dispatch.hs b/yesod-core/Yesod/Routes/TH/Dispatch.hs index a49dc8e4..5d3596ec 100644 --- a/yesod-core/Yesod/Routes/TH/Dispatch.hs +++ b/yesod-core/Yesod/Routes/TH/Dispatch.hs @@ -176,11 +176,12 @@ mkDispatchClause MkDispatchSettings {..} resources = do subDispatcherE <- mdsSubDispatcher runHandlerE <- mdsRunHandler sub <- newName "sub" + sroute <- newName "sroute" let sub2 = LamE [VarP sub] (foldl' (\a b -> a `AppE` b) (VarE (mkName getSub) `AppE` VarE sub) dyns) let reqExp' = setPathInfoE `AppE` VarE restPath `AppE` reqExp route' = foldl' AppE (ConE (mkName name)) dyns - route = foldr AppE route' extraCons + route = LamE [VarP sroute] $ foldr AppE (AppE route' $ VarE sroute) extraCons exp = subDispatcherE `AppE` runHandlerE `AppE` sub2