diff --git a/Text/HTML/SanitizeXSS.hs b/Text/HTML/SanitizeXSS.hs index 9a75615..d87bed9 100644 --- a/Text/HTML/SanitizeXSS.hs +++ b/Text/HTML/SanitizeXSS.hs @@ -1,16 +1,14 @@ module Text.HTML.SanitizeXSS where -import Data.Set (Set(..), member, notMember, fromList) -import Network.URI ( parseURIReference, URI (..) ) - -import Data.Char ( toLower, isLower, isUpper, isAlpha, isAscii, - isLetter, isDigit ) - -import Network.URI ( isAllowedInURI, escapeURIString, unEscapeString, uriScheme ) -import Codec.Binary.UTF8.String ( encodeString, decodeString ) - import Text.HTML.TagSoup +import Data.Set (Set(), member, fromList) +import Data.Char ( toLower, isAscii ) + +import Network.URI ( parseURIReference, URI (..), + isAllowedInURI, escapeURIString, unEscapeString, uriScheme ) +import Codec.Binary.UTF8.String ( encodeString, decodeString ) + sanitizeXSS :: String -> String sanitizeXSS = renderTagsOptions renderOptions { optMinimize = \x -> x `elem` ["br","img"] diff --git a/test.hs b/test.hs index 6e82a99..9c1dbef 100644 --- a/test.hs +++ b/test.hs @@ -4,4 +4,5 @@ main = do let test = " anchor

" let actual = (sanitizeXSS test) let expected = " anchor
" - putStrLn $ if actual == expected then "pass" else "failure parsing:" ++ (show test) ++ "\nexpected:" ++ (show expected) ++ "\nactual: " ++ (show actual) + putStrLn $ "testing: " ++ test + putStrLn $ if actual == expected then "pass" else "failure\n" ++ "\nexpected:" ++ (show expected) ++ "\nactual: " ++ (show actual) diff --git a/xss-sanitize.cabal b/xss-sanitize.cabal index 1748f88..dc8bd97 100644 --- a/xss-sanitize.cabal +++ b/xss-sanitize.cabal @@ -14,7 +14,9 @@ build-type: Simple homepage: http://github.com/gregwebs/haskell-xss-sanitize library - build-depends: tagsoup >= 0.11 + build-depends: base == 4.*, containers, + tagsoup >= 0.11, utf8-string >= 0.3, network >= 2 + exposed-modules: Text.HTML.SanitizeXSS ghc-options: -Wall