uri-bytestring 0.1 → 0.1.1
raw patch · 3 files changed
+30/−17 lines, 3 filesdep +blaze-builderdep ~bytestring
Dependencies added: blaze-builder
Dependency ranges changed: bytestring
Files
- bench/Main.hs +1/−2
- src/URI/ByteString/Internal.hs +15/−13
- uri-bytestring.cabal +14/−2
bench/Main.hs view
@@ -5,7 +5,7 @@ ------------------------------------------------------------------------------- import Control.DeepSeq.Generics import Criterion.Main-import Data.ByteString.Builder+import Blaze.ByteString.Builder import Data.String import qualified Network.URI as NU -------------------------------------------------------------------------------@@ -17,7 +17,6 @@ instance NFData UserInfo instance NFData URI instance NFData RelativeRef-instance NFData NU.URI instance NFData SchemaError instance NFData URIParseError
src/URI/ByteString/Internal.hs view
@@ -5,22 +5,24 @@ module URI.ByteString.Internal where -------------------------------------------------------------------------------+import Blaze.ByteString.Builder (Builder)+import qualified Blaze.ByteString.Builder as BB+import qualified Blaze.ByteString.Builder.Char.Utf8 as BB import Control.Applicative import Control.Monad import Data.Attoparsec.ByteString-import qualified Data.Attoparsec.ByteString as A+import qualified Data.Attoparsec.ByteString as A import Data.Bits-import Data.ByteString (ByteString)-import qualified Data.ByteString as BS-import Data.ByteString.Builder (Builder)-import qualified Data.ByteString.Builder as BB-import Data.Char (ord)+import Data.ByteString (ByteString)+import qualified Data.ByteString as BS+import Data.Char (ord) import Data.Ix-import Data.List (delete, intersperse, stripPrefix, (\\))+import Data.List (delete, intersperse,+ stripPrefix, (\\)) import Data.Maybe import Data.Monoid import Data.Word-import Text.Read (readMaybe)+import Text.Read (readMaybe) ------------------------------------------------------------------------------- import URI.ByteString.Types -------------------------------------------------------------------------------@@ -56,7 +58,7 @@ -- >>> BB.toLazyByteString $ serializeURI $ URI {uriScheme = Scheme {schemeBS = "http"}, uriAuthority = Just (Authority {authorityUserInfo = Nothing, authorityHost = Host {hostBS = "www.example.org"}, authorityPort = Nothing}), uriPath = "/foo", uriQuery = Query {queryPairs = [("bar","baz")]}, uriFragment = Just "quux"} -- "http://www.example.org/foo?bar=baz#quux" serializeURI :: URI -> Builder-serializeURI URI {..} = scheme <> BB.string8 "://" <>+serializeURI URI {..} = scheme <> BB.fromString "://" <> serializeRelativeRef rr where scheme = bs $ schemeBS uriScheme@@ -89,7 +91,7 @@ userinfo = maybe mempty serializeUserInfo authorityUserInfo host = hostBS authorityHost port = maybe mempty packPort authorityPort- packPort (Port p) = c8 ':' <> BB.string8 (show p)+ packPort (Port p) = c8 ':' <> BB.fromString (show p) -------------------------------------------------------------------------------@@ -99,12 +101,12 @@ ------------------------------------------------------------------------------- bs :: ByteString -> Builder-bs = BB.byteString+bs = BB.fromByteString ------------------------------------------------------------------------------- c8 :: Char -> Builder-c8 = BB.char8+c8 = BB.fromChar -------------------------------------------------------------------------------@@ -720,7 +722,7 @@ urlEncode' :: [Word8] -> ByteString -> Builder urlEncode' extraUnreserved = mconcat . map encodeChar . BS.unpack where- encodeChar ch | unreserved' ch = BB.word8 ch+ encodeChar ch | unreserved' ch = BB.fromWord8 ch | otherwise = h2 ch unreserved' ch | ch >= 65 && ch <= 90 = True -- A-Z
uri-bytestring.cabal view
@@ -1,5 +1,5 @@ name: uri-bytestring-version: 0.1+version: 0.1.1 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@@ -19,6 +19,10 @@ changelog.md bench/*.hs +flag lib-Werror+ default: False+ manual: True+ library exposed-modules: URI.ByteString@@ -31,11 +35,15 @@ attoparsec >= 0.10 && < 0.13 , base >= 4.6 && < 4.8- , bytestring >= 0.10.2.0 && < 0.11+ , bytestring >= 0.9.1 && < 0.11+ , blaze-builder >= 0.3.0.0 && < 0.5 hs-source-dirs: src default-language: Haskell2010 + if flag(lib-Werror)+ ghc-options: -Werror+ ghc-options: -Wall test-suite test@@ -57,6 +65,9 @@ , quickcheck-instances default-language: Haskell2010 + if flag(lib-Werror)+ ghc-options: -Werror+ ghc-options: -Wall @@ -73,6 +84,7 @@ , deepseq-generics , network-uri , bytestring+ , blaze-builder source-repository head type: git