From 4c84f7db1d43f0b13b03fe5c3d613ac2dc54bc56 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Sun, 26 Dec 2021 23:50:22 +0100 Subject: urlencode dereferrer links --- lib/Uris.hs | 4 ++-- walint.cabal | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Uris.hs b/lib/Uris.hs index 3aad1da..598aa46 100644 --- a/lib/Uris.hs +++ b/lib/Uris.hs @@ -24,7 +24,7 @@ import GHC.Generics (Generic) import GHC.TypeLits (KnownSymbol, symbolVal) import Text.Regex.TDFA ((=~)) import Witherable (mapMaybe) - +import Network.URI.Encode as URI data Substitution = Prefixed { prefix :: Text, blocked :: [Text], allowed :: [Text], scope :: [String] } @@ -98,7 +98,7 @@ applySubsts s substs uri = do Prefixed {..} | domain `elem` blocked -> Left IsBlocked | domain `elem` allowed -> Right uri - | otherwise -> Right (prefix <> domain <> rest) + | otherwise -> Right (prefix <> URI.encodeText uri) Allowed _ domains -> if domain `elem` domains then Right uri else Left (DomainIsBlocked domains) diff --git a/walint.cabal b/walint.cabal index 4f03b25..100a3d0 100644 --- a/walint.cabal +++ b/walint.cabal @@ -56,7 +56,8 @@ library extra, witherable, dotgen, - text-metrics + text-metrics, + uri-encode -- TODO: move more stuff into lib, these dependencies are silly executable walint -- cgit v1.2.3