http-link-header 1.0.1 → 1.0.2
raw patch · 6 files changed
+50/−6 lines, 6 filessetup-changedPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Network.HTTP.Link: instance ToByteString Link
- Network.HTTP.Link: instance ToByteString [Link]
- Network.HTTP.Link.Types: instance [safe] Eq Link
- Network.HTTP.Link.Types: instance [safe] Eq LinkParam
- Network.HTTP.Link.Types: instance [safe] Show Link
- Network.HTTP.Link.Types: instance [safe] Show LinkParam
+ Network.HTTP.Link: instance Data.ByteString.Conversion.To.ToByteString Network.HTTP.Link.Types.Link
+ Network.HTTP.Link: instance Data.ByteString.Conversion.To.ToByteString [Network.HTTP.Link.Types.Link]
+ Network.HTTP.Link.Types: instance GHC.Classes.Eq Network.HTTP.Link.Types.Link
+ Network.HTTP.Link.Types: instance GHC.Classes.Eq Network.HTTP.Link.Types.LinkParam
+ Network.HTTP.Link.Types: instance GHC.Show.Show Network.HTTP.Link.Types.Link
+ Network.HTTP.Link.Types: instance GHC.Show.Show Network.HTTP.Link.Types.LinkParam
Files
- Setup.hs +2/−0
- benchmark/ParserBench.hs +12/−0
- benchmark/WriterBench.hs +28/−0
- http-link-header.cabal +6/−4
- library/Network/HTTP/Link/Parser.hs +1/−1
- library/Network/HTTP/Link/Writer.hs +1/−1
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ benchmark/ParserBench.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE OverloadedStrings #-}++module ParserBench (benchmarks) where++import Criterion+import Network.HTTP.Link.Parser++benchmarks :: [Benchmark]+benchmarks = [+ bench "minimal" $ whnf parseLinkHeader "<http://example.com>; rel=\"next\""+ , bench "large" $ whnf parseLinkHeader "\n\t < http://example.com>; rel=next; title=\"Hello world\", <ftp://hello.world>; rev=license; someWeirdParam=\"YOLO LOL\", <https://long.ass.domain.name.just.because/lol>; rel=\"something something something http://some.thing/lol/rel\" "+ ]
+ benchmark/WriterBench.hs view
@@ -0,0 +1,28 @@+{-# LANGUAGE OverloadedStrings #-}++module WriterBench (benchmarks) where++import Criterion+import Data.String (IsString (..))+import Network.HTTP.Link.Types+import Network.HTTP.Link.Writer+import Network.URI++instance IsString URI where+ fromString str = case parseURI str of+ Just uri -> uri+ Nothing -> error $ "Failed to parse URI: " ++ str++benchmarks :: [Benchmark]+benchmarks = [+ bench "minimal" $ whnf writeLinkHeader+ [ Link "http://example.com/thing" [ (Rel, "next") ] ]+ , bench "large" $ whnf writeLinkHeader+ [ Link "http://example.com/something_long"+ [ (Rel, "next prev http://hello.world/undefined")+ , (Title, "this is a test benchmark thingy")+ ]+ , Link "https://use.tls.everywhere.pls"+ [ (Rel, "license")+ , (Rev, "author") ]]+ ]
http-link-header.cabal view
@@ -1,11 +1,11 @@ name: http-link-header-version: 1.0.1+version: 1.0.2 synopsis: A parser and writer for the HTTP Link header as specified in RFC 5988 "Web Linking". description: https://github.com/myfreeweb/http-link-header category: Web homepage: https://github.com/myfreeweb/http-link-header author: Greg V-copyright: 2014-2015 Greg V <greg@unrelenting.technology>+copyright: 2014-2016 Greg V <greg@unrelenting.technology> maintainer: greg@unrelenting.technology license: PublicDomain license-file: UNLICENSE@@ -14,7 +14,7 @@ extra-source-files: README.md tested-with:- GHC == 7.10.2+ GHC == 7.10.3 source-repository head type: git@@ -35,7 +35,6 @@ Network.HTTP.Link.Types Network.HTTP.Link.Parser Network.HTTP.Link.Writer- ghc-prof-options: -prof ghc-options: -Wall hs-source-dirs: library @@ -63,9 +62,12 @@ , text , http-link-header , directory+ , network-uri , transformers , criterion default-language: Haskell2010 hs-source-dirs: benchmark main-is: Bench.hs+ other-modules: ParserBench+ WriterBench type: exitcode-stdio-1.0
library/Network/HTTP/Link/Parser.hs view
@@ -20,7 +20,7 @@ import Data.Text.Encoding (decodeUtf8) import Data.ByteString (ByteString) import Data.Char (isSpace)-#if __GLASGOW_HASKELL__ < 709+#if !MIN_VERSION_base(4,8,0) import Data.Monoid (mconcat) #endif import Data.Attoparsec.Text
library/Network/HTTP/Link/Writer.hs view
@@ -6,7 +6,7 @@ ) where import Data.Text hiding (map)-#if __GLASGOW_HASKELL__ < 709+#if !MIN_VERSION_base(4,8,0) import Data.Monoid (mconcat) #endif import Network.URI