async-http 0.84.0 → 0.86.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/async/http/protocol/http2/output.rb +2 -0
- data/lib/async/http/protocol/http2/request.rb +4 -4
- data/lib/async/http/protocol/http2/response.rb +2 -2
- data/lib/async/http/protocol/http2/stream.rb +3 -1
- data/lib/async/http/protocol/http2.rb +2 -0
- data/lib/async/http/version.rb +1 -1
- data/readme.md +4 -0
- data/releases.md +4 -0
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ea4e711204ad0a9af1e1e635a4ce7248683ae570e783bd8648e9d8e9c8c21b9c
         | 
| 4 | 
            +
              data.tar.gz: 14dd2e09b46342b06aebf142f40d8c75aa864cee62df950452ef07e47ec2e7e0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7b667f21701e3e9f6d77f7af842b2540c979ebefe9f94a07fda2eb617e5e1327621d51fc7c0caf6e97245228db09d42a2850f2a96c94c3fbc62683837c4995cc
         | 
| 7 | 
            +
              data.tar.gz: 256a13cfc5fd2f3cef207086902893d4ec5753d44af7ae0422c12636cb756b7ca27fe498d2810fe3757d84e5470157900c8d9be51a714e457a0f1f18342dd193
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
| @@ -112,7 +112,7 @@ module Async | |
| 112 112 |  | 
| 113 113 | 
             
            					def send_response(response)
         | 
| 114 114 | 
             
            						if response.nil?
         | 
| 115 | 
            -
            							return @stream.send_headers( | 
| 115 | 
            +
            							return @stream.send_headers(NO_RESPONSE, ::Protocol::HTTP2::END_STREAM)
         | 
| 116 116 | 
             
            						end
         | 
| 117 117 |  | 
| 118 118 | 
             
            						protocol_headers = [
         | 
| @@ -129,14 +129,14 @@ module Async | |
| 129 129 | 
             
            							# This function informs the headers object that any subsequent headers are going to be trailer. Therefore, it must be called *before* sending the headers, to avoid any race conditions.
         | 
| 130 130 | 
             
            							trailer = response.headers.trailer!
         | 
| 131 131 |  | 
| 132 | 
            -
            							@stream.send_headers( | 
| 132 | 
            +
            							@stream.send_headers(headers)
         | 
| 133 133 |  | 
| 134 134 | 
             
            							@stream.send_body(body, trailer)
         | 
| 135 135 | 
             
            						else
         | 
| 136 136 | 
             
            							# Ensure the response body is closed if we are ending the stream:
         | 
| 137 137 | 
             
            							response.close
         | 
| 138 138 |  | 
| 139 | 
            -
            							@stream.send_headers( | 
| 139 | 
            +
            							@stream.send_headers(headers, ::Protocol::HTTP2::END_STREAM)
         | 
| 140 140 | 
             
            						end
         | 
| 141 141 | 
             
            					end
         | 
| 142 142 |  | 
| @@ -149,7 +149,7 @@ module Async | |
| 149 149 | 
             
            							interim_response_headers = ::Protocol::HTTP::Headers::Merged.new(interim_response_headers, headers)
         | 
| 150 150 | 
             
            						end
         | 
| 151 151 |  | 
| 152 | 
            -
            						@stream.send_headers( | 
| 152 | 
            +
            						@stream.send_headers(interim_response_headers)
         | 
| 153 153 | 
             
            					end
         | 
| 154 154 | 
             
            				end
         | 
| 155 155 | 
             
            			end
         | 
| @@ -222,7 +222,7 @@ module Async | |
| 222 222 | 
             
            						)
         | 
| 223 223 |  | 
| 224 224 | 
             
            						if request.body.nil?
         | 
| 225 | 
            -
            							@stream.send_headers( | 
| 225 | 
            +
            							@stream.send_headers(headers, ::Protocol::HTTP2::END_STREAM)
         | 
| 226 226 | 
             
            						else
         | 
| 227 227 | 
             
            							if length = request.body.length
         | 
| 228 228 | 
             
            								# This puts it at the end of the pseudo-headers:
         | 
| @@ -233,7 +233,7 @@ module Async | |
| 233 233 | 
             
            							trailer = request.headers.trailer!
         | 
| 234 234 |  | 
| 235 235 | 
             
            							begin
         | 
| 236 | 
            -
            								@stream.send_headers( | 
| 236 | 
            +
            								@stream.send_headers(headers)
         | 
| 237 237 | 
             
            							rescue
         | 
| 238 238 | 
             
            								raise RequestFailed
         | 
| 239 239 | 
             
            							end
         | 
| @@ -131,7 +131,7 @@ module Async | |
| 131 131 | 
             
            						else
         | 
| 132 132 | 
             
            							# Write trailer?
         | 
| 133 133 | 
             
            							if trailer&.any?
         | 
| 134 | 
            -
            								send_headers( | 
| 134 | 
            +
            								send_headers(trailer, ::Protocol::HTTP2::END_STREAM)
         | 
| 135 135 | 
             
            							else
         | 
| 136 136 | 
             
            								send_data(nil, ::Protocol::HTTP2::END_STREAM)
         | 
| 137 137 | 
             
            							end
         | 
| @@ -142,6 +142,8 @@ module Async | |
| 142 142 | 
             
            						super
         | 
| 143 143 |  | 
| 144 144 | 
             
            						@output&.window_updated(size)
         | 
| 145 | 
            +
            						
         | 
| 146 | 
            +
            						return true
         | 
| 145 147 | 
             
            					end
         | 
| 146 148 |  | 
| 147 149 | 
             
            					# When the stream transitions to the closed state, this method is called. There are roughly two ways this can happen:
         | 
| @@ -27,6 +27,7 @@ module Async | |
| 27 27 | 
             
            					::Protocol::HTTP2::Settings::ENABLE_PUSH => 0,
         | 
| 28 28 | 
             
            					::Protocol::HTTP2::Settings::MAXIMUM_FRAME_SIZE => 0x100000,
         | 
| 29 29 | 
             
            					::Protocol::HTTP2::Settings::INITIAL_WINDOW_SIZE => 0x800000,
         | 
| 30 | 
            +
            					::Protocol::HTTP2::Settings::NO_RFC7540_PRIORITIES => 1,
         | 
| 30 31 | 
             
            				}
         | 
| 31 32 |  | 
| 32 33 | 
             
            				SERVER_SETTINGS = {
         | 
| @@ -35,6 +36,7 @@ module Async | |
| 35 36 | 
             
            					::Protocol::HTTP2::Settings::MAXIMUM_FRAME_SIZE => 0x100000,
         | 
| 36 37 | 
             
            					::Protocol::HTTP2::Settings::INITIAL_WINDOW_SIZE => 0x800000,
         | 
| 37 38 | 
             
            					::Protocol::HTTP2::Settings::ENABLE_CONNECT_PROTOCOL => 1,
         | 
| 39 | 
            +
            					::Protocol::HTTP2::Settings::NO_RFC7540_PRIORITIES => 1,
         | 
| 38 40 | 
             
            				}
         | 
| 39 41 |  | 
| 40 42 | 
             
            				def self.client(peer, settings = CLIENT_SETTINGS)
         | 
    
        data/lib/async/http/version.rb
    CHANGED
    
    
    
        data/readme.md
    CHANGED
    
    | @@ -16,6 +16,10 @@ Please see the [project documentation](https://socketry.github.io/async-http/) f | |
| 16 16 |  | 
| 17 17 | 
             
            Please see the [project releases](https://socketry.github.io/async-http/releases/index) for all releases.
         | 
| 18 18 |  | 
| 19 | 
            +
            ### v0.86.0
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              - Add support for HTTP/2 `NO_RFC7540_PRIORITIES`. See <https://www.rfc-editor.org/rfc/rfc9218.html> for more details.
         | 
| 22 | 
            +
             | 
| 19 23 | 
             
            ### v0.84.0
         | 
| 20 24 |  | 
| 21 25 | 
             
              - Minor consistency fixes to `Async::HTTP::Internet` singleton methods.
         | 
    
        data/releases.md
    CHANGED
    
    
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: async-http
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.86.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Samuel Williams
         | 
| @@ -58,7 +58,7 @@ cert_chain: | |
| 58 58 | 
             
              Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
         | 
| 59 59 | 
             
              voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
         | 
| 60 60 | 
             
              -----END CERTIFICATE-----
         | 
| 61 | 
            -
            date: 2024- | 
| 61 | 
            +
            date: 2024-12-01 00:00:00.000000000 Z
         | 
| 62 62 | 
             
            dependencies:
         | 
| 63 63 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 64 64 | 
             
              name: async
         | 
| @@ -150,14 +150,14 @@ dependencies: | |
| 150 150 | 
             
                requirements:
         | 
| 151 151 | 
             
                - - "~>"
         | 
| 152 152 | 
             
                  - !ruby/object:Gem::Version
         | 
| 153 | 
            -
                    version: '0. | 
| 153 | 
            +
                    version: '0.22'
         | 
| 154 154 | 
             
              type: :runtime
         | 
| 155 155 | 
             
              prerelease: false
         | 
| 156 156 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 157 157 | 
             
                requirements:
         | 
| 158 158 | 
             
                - - "~>"
         | 
| 159 159 | 
             
                  - !ruby/object:Gem::Version
         | 
| 160 | 
            -
                    version: '0. | 
| 160 | 
            +
                    version: '0.22'
         | 
| 161 161 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 162 162 | 
             
              name: traces
         | 
| 163 163 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |