diff options
author | 2013-01-03 18:50:30 -0400 | |
---|---|---|
committer | 2013-01-03 18:50:30 -0400 | |
commit | fbaf52d7b852d02ec0b5bfe639715a29024b1a9b (patch) | |
tree | c6f5db7ac6fc3d9f15210ab10b3bb61c9f8ea93f /Utility/WebApp.hs | |
parent | 1c880e8692e9722967a30d4c4f59107e15360d92 (diff) |
restart UI
Browser behavior is not ideal; a new tab is opened on restart.
Browsers won't let me redirect to a file:// so I cannot use the old tab.
Diffstat (limited to 'Utility/WebApp.hs')
-rw-r--r-- | Utility/WebApp.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Utility/WebApp.hs b/Utility/WebApp.hs index 6f64b2bdf..d3bd523a8 100644 --- a/Utility/WebApp.hs +++ b/Utility/WebApp.hs @@ -10,6 +10,8 @@ module Utility.WebApp where import Common +import Utility.TempFile +import Utility.FileMode import qualified Yesod import qualified Network.Wai as Wai @@ -188,3 +190,23 @@ insertAuthToken extractToken predicate webapp root pathbits params = params' | predicate pathbits = authparam:params | otherwise = params + +{- Creates a html shim file that's used to redirect into the webapp, + - to avoid exposing the secret token when launching the web browser. -} +writeHtmlShim :: String -> String -> FilePath -> IO () +writeHtmlShim title url file = viaTmp writeFileProtected file $ genHtmlShim title url + +{- TODO: generate this static file using Yesod. -} +genHtmlShim :: String -> String -> String +genHtmlShim title url = unlines + [ "<html>" + , "<head>" + , "<title>"++ title ++ "</title>" + , "<meta http-equiv=\"refresh\" content=\"1; URL="++url++"\">" + , "<body>" + , "<p>" + , "<a href=\"" ++ url ++ "\">" ++ title ++ "</a>" + , "</p>" + , "</body>" + , "</html>" + ] |