summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstuebinm2021-12-26 23:50:22 +0100
committerstuebinm2022-01-02 01:55:49 +0100
commite03d5514f38ed4c2f1345c2eaf82789af00136ab (patch)
treeffe8c47dc63dc74b83795c82cba00072eb9684de
parente8d993e2932ea1dc4826ad371abe274165521429 (diff)
urlencode dereferrer links
Diffstat (limited to '')
-rw-r--r--lib/Uris.hs4
-rw-r--r--walint.cabal3
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