packages feed

http2 5.3.2 → 5.3.3

raw patch · 4 files changed

+20/−7 lines, 4 filesdep +criteriondep +iproutedep −gaugedep ~unliftioPVP ok

version bump matches the API change (PVP)

Dependencies added: criterion, iproute

Dependencies removed: gauge

Dependency ranges changed: unliftio

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,5 +1,10 @@ # ChangeLog for http2 +## 5.3.3++* Enclosing IPv6 literal authority with square brackets.+  [#143](https://github.com/kazu-yamamoto/http2/pull/143)+ ## 5.3.2  * Avoid unnecessary empty data frames at end of stream
Network/HTTP2/Client/Run.hs view
@@ -8,11 +8,13 @@ import Control.Concurrent.STM (check) import qualified Data.ByteString.UTF8 as UTF8 import Data.IORef+import Data.IP (IPv6) import Network.Control (RxFlow (..), defaultMaxData) import Network.HTTP.Semantics.Client import Network.HTTP.Semantics.Client.Internal import Network.HTTP.Semantics.IO import Network.Socket (SockAddr)+import Text.Read (readMaybe) import UnliftIO.Async import UnliftIO.Concurrent import UnliftIO.Exception@@ -176,12 +178,16 @@             -- the ordering of responses can be out-of-order.             -- But for clients, the ordering must be maintained.             -- To implement this, 'outputQStreamID' is used.+            let isIPv6 = isJust (readMaybe auth :: Maybe IPv6)+                auth'+                    | isIPv6 = "[" <> UTF8.fromString auth <> "]"+                    | otherwise = UTF8.fromString auth             let hdr1, hdr2 :: [Header]                 hdr1                     | scheme /= "" = (":scheme", scheme) : hdr0                     | otherwise = hdr0                 hdr2-                    | auth /= "" = (":authority", UTF8.fromString auth) : hdr1+                    | auth /= "" = (":authority", auth') : hdr1                     | otherwise = hdr1                 req' = req{outObjHeaders = hdr2}             -- FLOW CONTROL: SETTINGS_MAX_CONCURRENT_STREAMS: send: respecting peer's limit
bench-hpack/Main.hs view
@@ -2,8 +2,8 @@  module Main where +import Criterion.Main import Data.ByteString (ByteString)-import Gauge.Main import Network.HPACK import UnliftIO.Exception @@ -39,7 +39,7 @@         ]  -----------------------------------------------------------------prepare :: [HeaderList] -> IO [ByteString]+prepare :: [[Header]] -> IO [ByteString] prepare hdrs = do     tbl <- newDynamicTableForEncoding defaultDynamicTableSize     go tbl hdrs id@@ -59,7 +59,7 @@         !_ <- decodeHeader tbl f         go tbl fs -enc :: EncodeStrategy -> [HeaderList] -> IO ()+enc :: EncodeStrategy -> [[Header]] -> IO () enc stgy hdrs = do     tbl <- newDynamicTableForEncoding defaultDynamicTableSize     go tbl hdrs
http2.cabal view
@@ -1,6 +1,6 @@ cabal-version:      >=1.10 name:               http2-version:            5.3.2+version:            5.3.3 license:            BSD3 license-file:       LICENSE maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>@@ -118,6 +118,7 @@         containers >=0.6,         http-semantics >= 0.2 && <0.3,         http-types >=0.12 && <0.13,+        iproute >= 1.7 && < 1.8,         network >=3.1,         network-byte-order >=0.1.7 && <0.2,         network-control >=0.1 && <0.2,@@ -409,7 +410,8 @@         bytestring,         case-insensitive,         containers,-        gauge,+        criterion,+        http2,         network-byte-order,         stm,-        http2+        unliftio