http-client 0.4.18.1 → 0.4.19
raw patch · 6 files changed
+27/−9 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Network.HTTP.Client: class HasHttpManager a
+ Network.HTTP.Client: getHttpManager :: HasHttpManager a => a -> Manager
+ Network.HTTP.Client.Internal: class HasHttpManager a
+ Network.HTTP.Client.Internal: getHttpManager :: HasHttpManager a => a -> Manager
Files
- ChangeLog.md +5/−0
- Network/HTTP/Client.hs +1/−0
- Network/HTTP/Client/Request.hs +12/−6
- Network/HTTP/Client/Types.hs +6/−0
- http-client.cabal +1/−1
- test-nonet/Network/HTTP/Client/RequestSpec.hs +2/−2
ChangeLog.md view
@@ -1,3 +1,8 @@+## 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)
Network/HTTP/Client.hs view
@@ -87,6 +87,7 @@ , newManager , closeManager , withManager+ , HasHttpManager(..) -- ** Connection manager settings , ManagerSettings , defaultManagerSettings
Network/HTTP/Client/Request.hs view
@@ -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
Network/HTTP/Client/Types.hs view
@@ -22,6 +22,7 @@ , Response (..) , ResponseClose (..) , Manager (..)+ , HasHttpManager (..) , ConnsMap (..) , ManagerSettings (..) , NonEmptyList (..)@@ -594,6 +595,11 @@ -- ^ See 'managerProxy' } deriving T.Typeable++class HasHttpManager a where+ getHttpManager :: a -> Manager+instance HasHttpManager Manager where+ getHttpManager = id data ConnsMap = ManagerClosed
http-client.cabal view
@@ -1,5 +1,5 @@ name: http-client-version: 0.4.18.1+version: 0.4.19 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
test-nonet/Network/HTTP/Client/RequestSpec.hs view
@@ -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"