@@ -60,7 +60,7 @@ import Numeric.Natural
6060import GHC.Exts (IsList (..), Constraint)
6161import GHC.Generics
6262import GHC.TypeLits
63−import URI.ByteString (urlEncodeQuery, urlDecodeQuery)
63+import Network.HTTP.Types.URI (urlEncodeBuilder, urlDecode)
6464
6565import Web.Internal.HttpApiData
6666
@@ -543,7 +543,7 @@ urlEncodeFormStable = urlEncodeParams . sortOn fst . toList
543543urlEncodeParams :: [(Text, Text)] -> BSL.ByteString
544544urlEncodeParams = toLazyByteString . mconcat . intersperse (shortByteString "&") . map encodePair
545545 where
546− escape = urlEncodeQuery . Text.encodeUtf8
546+ escape = urlEncodeBuilder True . Text.encodeUtf8
547547
548548 encodePair (k, "") = escape k
549549 encodePair (k, v) = escape k <> shortByteString "=" <> escape v
@@ -590,7 +590,7 @@ urlDecodeParams bs = traverse parsePair pairs
590590 where
591591 pairs = map (BSL8.split '=') (BSL8.split '&' bs)
592592
593− unescape = Text.decodeUtf8With lenientDecode . urlDecodeQuery . BSL.toStrict
593+ unescape = Text.decodeUtf8With lenientDecode . urlDecode True . BSL.toStrict
594594
595595 parsePair p =
596596 case map unescape p of