Hello community, here is the log from the commit of package ghc-http-client for openSUSE:Factory checked in at 2015-08-25 07:20:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-http-client (Old) and /work/SRC/openSUSE:Factory/.ghc-http-client.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-http-client" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-http-client/ghc-http-client.changes 2015-08-05 06:50:54.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-http-client.new/ghc-http-client.changes 2015-08-25 08:48:19.000000000 +0200 @@ -1,0 +2,13 @@ +Sun Aug 23 17:34:03 UTC 2015 - mimi...@gmail.com + +- update to 0.4.20 +* Expose brReadSome + +------------------------------------------------------------------- +Thu Aug 13 16:03:03 UTC 2015 - mimi...@gmail.com + +- update to 0.4.19 +* Move HasHttpManager from http-conduit to http-client +* Chunked request bodies use less TCP packets + +------------------------------------------------------------------- Old: ---- http-client-0.4.18.1.tar.gz New: ---- http-client-0.4.20.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-http-client.spec ++++++ --- /var/tmp/diff_new_pack.F4cpzc/_old 2015-08-25 08:48:19.000000000 +0200 +++ /var/tmp/diff_new_pack.F4cpzc/_new 2015-08-25 08:48:19.000000000 +0200 @@ -21,7 +21,7 @@ %bcond_with tests Name: ghc-http-client -Version: 0.4.18.1 +Version: 0.4.20 Release: 0 Summary: HTTP client engine, intended as a base layer License: MIT ++++++ http-client-0.4.18.1.tar.gz -> http-client-0.4.20.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/ChangeLog.md new/http-client-0.4.20/ChangeLog.md --- old/http-client-0.4.18.1/ChangeLog.md 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/ChangeLog.md 2015-08-18 10:29:13.000000000 +0200 @@ -1,3 +1,12 @@ +## 0.4.20 + +* Expose `brReadSome` + +## 0.4.19 + +* Move HasHttpManager from http-conduit to http-client [#147](https://github.com/snoyberg/http-client/pull/147) +* Chunked request bodies use less TCP packets [#149](https://github.com/snoyberg/http-client/issues/149) + ## 0.4.18 * Deprecate closeManager [#136](https://github.com/snoyberg/http-client/issues/136) [#137](https://github.com/snoyberg/http-client/issues/137) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/Network/HTTP/Client/Body.hs new/http-client-0.4.20/Network/HTTP/Client/Body.hs --- old/http-client-0.4.18.1/Network/HTTP/Client/Body.hs 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/Network/HTTP/Client/Body.hs 2015-08-18 10:29:13.000000000 +0200 @@ -33,6 +33,10 @@ brRead :: BodyReader -> IO S.ByteString brRead = id +-- | Continuously call 'brRead', building up a lazy ByteString until a chunk is +-- constructed that is at least as many bytes as requested. +-- +-- Since 0.4.20 brReadSome :: BodyReader -> Int -> IO L.ByteString brReadSome brRead = loop id diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/Network/HTTP/Client/Request.hs new/http-client-0.4.20/Network/HTTP/Client/Request.hs --- old/http-client-0.4.18.1/Network/HTTP/Client/Request.hs 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/Network/HTTP/Client/Request.hs 2015-08-18 10:29:13.000000000 +0200 @@ -373,12 +373,18 @@ where loop stream = do bs <- stream - when isChunked $ - connectionWrite $ S8.pack $ showHex (S.length bs) (if S.null bs then "\r\n\r\n" else "\r\n") - unless (S.null bs) $ do - connectionWrite bs - when isChunked $ connectionWrite "\r\n" - loop stream + if S.null bs + then when isChunked $ connectionWrite "0\r\n\r\n" + else do + connectionWrite $ + if isChunked + then S.concat + [ S8.pack $ showHex (S.length bs) "\r\n" + , bs + , "\r\n" + ] + else bs + loop stream hh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/Network/HTTP/Client/Types.hs new/http-client-0.4.20/Network/HTTP/Client/Types.hs --- old/http-client-0.4.18.1/Network/HTTP/Client/Types.hs 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/Network/HTTP/Client/Types.hs 2015-08-18 10:29:13.000000000 +0200 @@ -22,6 +22,7 @@ , Response (..) , ResponseClose (..) , Manager (..) + , HasHttpManager (..) , ConnsMap (..) , ManagerSettings (..) , NonEmptyList (..) @@ -99,7 +100,7 @@ -- on this, see: -- -- <https://github.com/snoyberg/http-client/commit/b86b1cdd91e56ee33150433dedb32954d2082621#commitcomment-10718689> - | FailedConnectionException2 String Int Bool SomeException -- ^ host/port/secure + | FailedConnectionException2 String Int Bool SomeException -- ^ host\/port\/secure | ExpectedBlankAfter100Continue | InvalidStatusLine S.ByteString | InvalidHeader S.ByteString @@ -595,6 +596,11 @@ } deriving T.Typeable +class HasHttpManager a where + getHttpManager :: a -> Manager +instance HasHttpManager Manager where + getHttpManager = id + data ConnsMap = ManagerClosed | ManagerOpen {-# UNPACK #-} !Int !(Map.Map ConnKey (NonEmptyList Connection)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/Network/HTTP/Client.hs new/http-client-0.4.20/Network/HTTP/Client.hs --- old/http-client-0.4.18.1/Network/HTTP/Client.hs 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/Network/HTTP/Client.hs 2015-08-18 10:29:13.000000000 +0200 @@ -87,6 +87,7 @@ , newManager , closeManager , withManager + , HasHttpManager(..) -- ** Connection manager settings , ManagerSettings , defaultManagerSettings @@ -153,6 +154,7 @@ -- ** Response body , BodyReader , brRead + , brReadSome , brConsume -- * Misc , HttpException (..) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/http-client.cabal new/http-client-0.4.20/http-client.cabal --- old/http-client-0.4.18.1/http-client.cabal 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/http-client.cabal 2015-08-18 10:29:13.000000000 +0200 @@ -1,5 +1,5 @@ name: http-client -version: 0.4.18.1 +version: 0.4.20 synopsis: An HTTP client engine, intended as a base layer for more user-friendly packages. description: Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/http-client>. homepage: https://github.com/snoyberg/http-client diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.18.1/test-nonet/Network/HTTP/Client/RequestSpec.hs new/http-client-0.4.20/test-nonet/Network/HTTP/Client/RequestSpec.hs --- old/http-client-0.4.18.1/test-nonet/Network/HTTP/Client/RequestSpec.hs 2015-07-24 17:22:19.000000000 +0200 +++ new/http-client-0.4.20/test-nonet/Network/HTTP/Client/RequestSpec.hs 2015-08-18 10:29:13.000000000 +0200 @@ -99,14 +99,14 @@ , [nonChunked <> "\r\ndata"] , [nonChunked <> "\r\ndata"] , [nonChunked <> "\r\n", "", "data"] - , [chunked <> "\r\n", "", "4\r\n","data","\r\n","0\r\n\r\n"] + , [chunked <> "\r\n", "", "4\r\ndata\r\n","0\r\n\r\n"] ] out2 = [ (nonChunked <> "Expect: 100-continue\r\n\r\n", ["data"]) , (nonChunked <> "Expect: 100-continue\r\n\r\n", ["data"]) , (nonChunked <> "Expect: 100-continue\r\n\r\n", ["data"]) , (nonChunked <> "Expect: 100-continue\r\n\r\n", ["data"]) - , (chunked <> "Expect: 100-continue\r\n\r\n", ["4\r\n","data","\r\n","0\r\n\r\n"]) + , (chunked <> "Expect: 100-continue\r\n\r\n", ["4\r\ndata\r\n","0\r\n\r\n"]) ] nonChunked = "PUT /foo HTTP/1.1\r\nHost: localhost\r\nAccept-Encoding: gzip\r\nContent-Length: 4\r\n"