From c498c77cc33a40aec436a0a2211df13e25f8c35e Mon Sep 17 00:00:00 2001 From: Greg Weber Date: Sun, 27 Apr 2014 08:23:09 -0700 Subject: [PATCH] test absolute file paths in a cross-platform way --- yesod-static/Yesod/EmbeddedStatic/Css/Util.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yesod-static/Yesod/EmbeddedStatic/Css/Util.hs b/yesod-static/Yesod/EmbeddedStatic/Css/Util.hs index 6287eb1e..2b0bd504 100644 --- a/yesod-static/Yesod/EmbeddedStatic/Css/Util.hs +++ b/yesod-static/Yesod/EmbeddedStatic/Css/Util.hs @@ -7,7 +7,7 @@ import Control.Monad (void, foldM) import Data.Hashable (Hashable) import Data.Monoid import Network.Mime (MimeType, defaultMimeLookup) -import Filesystem.Path.CurrentOS (FilePath, directory, (), dropExtension, filename, toText, decodeString, encodeString, fromText) +import Filesystem.Path.CurrentOS (FilePath, directory, (), dropExtension, filename, toText, decodeString, encodeString, fromText, absolute) import Text.CSS.Parse (parseBlocks) import Language.Haskell.TH (litE, stringL) import Text.CSS.Render (renderBlocks) @@ -62,8 +62,8 @@ checkForImage n v = (n, Left v) parseBackgroundImage :: T.Text -> T.Text -> EithUrl parseBackgroundImage n v = (n, case P.parseOnly parseUrl v of Left _ -> Left v -- Can't parse url - Right url -> - if any (`T.isPrefixOf` url) ["http://", "https://", "/"] + Right url -> -- maybe we should find a uri parser + if any (`T.isPrefixOf` url) ["http://", "https://", "//"] || absolute (fromText url) then Left v else Right $ UrlReference url)