stop abusing UltDest here, just get Referer header by hand

This commit is contained in:
Joey Hess 2013-03-16 19:00:11 -04:00
parent 140774a8c8
commit 4c0642a70d

View file

@ -18,6 +18,9 @@ import Utility.Yesod
import Yesod import Yesod
import Data.Text (Text) import Data.Text (Text)
import Control.Concurrent import Control.Concurrent
import qualified Network.Wai as W
import qualified Data.ByteString.Char8 as S8
import qualified Data.Text as T
waitNotifier :: forall sub. (Assistant NotificationBroadcaster) -> NotificationId -> GHandler sub WebApp () waitNotifier :: forall sub. (Assistant NotificationBroadcaster) -> NotificationId -> GHandler sub WebApp ()
waitNotifier getbroadcaster nid = liftAssistant $ do waitNotifier getbroadcaster nid = liftAssistant $ do
@ -65,6 +68,7 @@ renderUrl urlrenderer route params = do
{- Redirects back to the referring page, or if there's none, DashboardR -} {- Redirects back to the referring page, or if there's none, DashboardR -}
redirectBack :: Handler () redirectBack :: Handler ()
redirectBack = do redirectBack = do
clearUltDest mr <- lookup "referer" . W.requestHeaders <$> waiRequest
setUltDestReferer case mr of
redirectUltDest DashboardR Nothing -> redirect DashboardR
Just r -> redirect $ T.pack $ S8.unpack r