uri-bytestring 0.3.2.2 → 0.3.3.0
raw patch · 4 files changed
+36/−2 lines, 4 files
Files
- changelog.md +3/−0
- src/URI/ByteString.hs +8/−0
- src/URI/ByteString/Internal.hs +24/−1
- uri-bytestring.cabal +1/−1
changelog.md view
@@ -1,3 +1,6 @@+0.3.3.0+* Export more granular serializtion functions for things like the query string.+ 0.3.2.2 * Loosen dependencies
src/URI/ByteString.hs view
@@ -55,6 +55,14 @@ -- * Serializing , serializeURIRef , serializeURIRef'+ , serializeQuery+ , serializeQuery'+ , serializeFragment+ , serializeFragment'+ , serializeAuthority+ , serializeAuthority'+ , serializeUserInfo+ , serializeUserInfo' -- ** Normalized Serialization , normalizeURIRef , normalizeURIRef'
src/URI/ByteString/Internal.hs view
@@ -185,7 +185,7 @@ | otherwise = h:t authority = maybe Monoid.mempty (serializeAuthority o mScheme) rrAuthority query = serializeQuery o rrQuery- fragment = maybe mempty (\s -> c8 '#' <> bs s) rrFragment+ fragment = serializeFragment rrFragment -------------------------------------------------------------------------------@@ -254,6 +254,9 @@ -------------------------------------------------------------------------------+-- | Serialize the query part of a url+-- @serializeQuery opts mempty = ""@+-- @serializeQuery opts (Query [("a","b"),("c","d")]) = "?a=b&c=d"@ serializeQuery :: URINormalizationOptions -> Query -> Builder serializeQuery _ (Query []) = mempty serializeQuery URINormalizationOptions {..} (Query ps) =@@ -265,7 +268,20 @@ | otherwise = ps +serializeQuery' :: URINormalizationOptions -> Query -> ByteString+serializeQuery' opts = BB.toByteString . serializeQuery opts++ -------------------------------------------------------------------------------+serializeFragment :: Maybe ByteString -> Builder+serializeFragment = maybe mempty (\s -> c8 '#' <> bs s)+++serializeFragment' :: Maybe ByteString -> ByteString+serializeFragment' = BB.toByteString . serializeFragment+++------------------------------------------------------------------------------- serializeAuthority :: URINormalizationOptions -> Maybe Scheme -> Authority -> Builder serializeAuthority URINormalizationOptions {..} mScheme Authority {..} = BB.fromString "//" <> userinfo <> bs host <> port where@@ -288,9 +304,16 @@ | otherwise = Just p +serializeAuthority' :: URINormalizationOptions -> Maybe Scheme -> Authority -> ByteString+serializeAuthority' opts mScheme = BB.toByteString . serializeAuthority opts mScheme+ ------------------------------------------------------------------------------- serializeUserInfo :: UserInfo -> Builder serializeUserInfo UserInfo {..} = bs uiUsername <> c8 ':' <> bs uiPassword <> c8 '@'+++serializeUserInfo' :: UserInfo -> ByteString+serializeUserInfo' = BB.toByteString . serializeUserInfo -------------------------------------------------------------------------------
uri-bytestring.cabal view
@@ -1,5 +1,5 @@ name: uri-bytestring-version: 0.3.2.2+version: 0.3.3.0 synopsis: Haskell URI parsing as ByteStrings description: uri-bytestring aims to be an RFC3986 compliant URI parser that uses efficient ByteStrings for parsing and representing the URI data. license: BSD3