webmock 3.20.0 → 3.21.1
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
 - data/CHANGELOG.md +14 -0
 - data/README.md +2 -0
 - data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +4 -4
 - data/lib/webmock/http_lib_adapters/net_http.rb +4 -2
 - data/lib/webmock/rack_response.rb +3 -1
 - data/lib/webmock/version.rb +1 -1
 - metadata +6 -6
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 00fe33740b645d6ee1a843e8a863287c784171a411e36a6a03a9964d1a0f5d1e
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 581a52244e5ae82837eefbbc750d3785db5c465380885a865332d7c483c73acd
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 3693a98690a3c2a4e2fa32721fee8e5c4fbe7a541e33465707f99fd980bd67a57e2f31ba4f51e13121ac65302ec0d41e154bdde447053bbfd56452d8016e65e1
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 254ba266ba69ab8edb4d48ce83c563e0fa514b778bfbf8c0a695150606e1ad954961abdb69f48a95097960681fa79db8e258f46db28ed250522de57eba8b89f2
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,19 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Changelog
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            # 3.21.1
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              * The stubbed Net::HTTPResponse#uri now returns request.uri, aligning it with the behavior of an actual Net::HTTPResponse.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            # 3.21.0
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              * Don't use deprecated Rack::VERSION for Rack >= 3
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                Thanks to [Étienne Barrié](https://github.com/etiennebarrie)
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              * Updated HTTPClient adapter, to build request signature using the URI after filters have been applied.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                Thanks to [Matt Brown](https://github.com/mattbnz)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
       3 
17 
     | 
    
         
             
            # 3.20.0
         
     | 
| 
       4 
18 
     | 
    
         | 
| 
       5 
19 
     | 
    
         
             
              * Optimised EmHttpRequestAdapter performance.
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1193,6 +1193,8 @@ People who submitted patches and new features or suggested improvements. Many th 
     | 
|
| 
       1193 
1193 
     | 
    
         
             
            * Earlopain
         
     | 
| 
       1194 
1194 
     | 
    
         
             
            * James Brown
         
     | 
| 
       1195 
1195 
     | 
    
         
             
            * Kazuhiro NISHIYAMA
         
     | 
| 
      
 1196 
     | 
    
         
            +
            * Étienne Barrié
         
     | 
| 
      
 1197 
     | 
    
         
            +
            * Matt Brown
         
     | 
| 
       1196 
1198 
     | 
    
         | 
| 
       1197 
1199 
     | 
    
         
             
            For a full list of contributors you can visit the
         
     | 
| 
       1198 
1200 
     | 
    
         
             
            [contributors](https://github.com/bblimke/webmock/contributors) page.
         
     | 
| 
         @@ -157,14 +157,14 @@ if defined?(::HTTPClient) 
     | 
|
| 
       157 
157 
     | 
    
         
             
                end
         
     | 
| 
       158 
158 
     | 
    
         | 
| 
       159 
159 
     | 
    
         
             
                def build_request_signature(req, reuse_existing = false)
         
     | 
| 
       160 
     | 
    
         
            -
                  uri = WebMock::Util::URI.heuristic_parse(req.header.request_uri.to_s)
         
     | 
| 
       161 
     | 
    
         
            -
                  uri.query = WebMock::Util::QueryMapper.values_to_query(req.header.request_query, notation: WebMock::Config.instance.query_values_notation) if req.header.request_query
         
     | 
| 
       162 
     | 
    
         
            -
                  uri.port = req.header.request_uri.port
         
     | 
| 
       163 
     | 
    
         
            -
             
     | 
| 
       164 
160 
     | 
    
         
             
                  @request_filter.each do |filter|
         
     | 
| 
       165 
161 
     | 
    
         
             
                    filter.filter_request(req)
         
     | 
| 
       166 
162 
     | 
    
         
             
                  end
         
     | 
| 
       167 
163 
     | 
    
         | 
| 
      
 164 
     | 
    
         
            +
                  uri = WebMock::Util::URI.heuristic_parse(req.header.request_uri.to_s)
         
     | 
| 
      
 165 
     | 
    
         
            +
                  uri.query = WebMock::Util::QueryMapper.values_to_query(req.header.request_query, notation: WebMock::Config.instance.query_values_notation) if req.header.request_query
         
     | 
| 
      
 166 
     | 
    
         
            +
                  uri.port = req.header.request_uri.port
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
       168 
168 
     | 
    
         
             
                  headers = req.header.all.inject({}) do |hdrs, header|
         
     | 
| 
       169 
169 
     | 
    
         
             
                    hdrs[header[0]] ||= []
         
     | 
| 
       170 
170 
     | 
    
         
             
                    hdrs[header[0]] << header[1]
         
     | 
| 
         @@ -77,7 +77,7 @@ module WebMock 
     | 
|
| 
       77 
77 
     | 
    
         
             
                        @socket = Net::HTTP.socket_type.new
         
     | 
| 
       78 
78 
     | 
    
         
             
                        WebMock::CallbackRegistry.invoke_callbacks(
         
     | 
| 
       79 
79 
     | 
    
         
             
                          {lib: :net_http}, request_signature, webmock_response)
         
     | 
| 
       80 
     | 
    
         
            -
                        build_net_http_response(webmock_response, &block)
         
     | 
| 
      
 80 
     | 
    
         
            +
                        build_net_http_response(webmock_response, request.uri, &block)
         
     | 
| 
       81 
81 
     | 
    
         
             
                      elsif WebMock.net_connect_allowed?(request_signature.uri)
         
     | 
| 
       82 
82 
     | 
    
         
             
                        check_right_http_connection
         
     | 
| 
       83 
83 
     | 
    
         
             
                        after_request = lambda do |response|
         
     | 
| 
         @@ -144,7 +144,7 @@ module WebMock 
     | 
|
| 
       144 
144 
     | 
    
         
             
                      end
         
     | 
| 
       145 
145 
     | 
    
         
             
                    end
         
     | 
| 
       146 
146 
     | 
    
         | 
| 
       147 
     | 
    
         
            -
                    def build_net_http_response(webmock_response, &block)
         
     | 
| 
      
 147 
     | 
    
         
            +
                    def build_net_http_response(webmock_response, request_uri, &block)
         
     | 
| 
       148 
148 
     | 
    
         
             
                      response = Net::HTTPResponse.send(:response_class, webmock_response.status[0].to_s).new("1.0", webmock_response.status[0].to_s, webmock_response.status[1])
         
     | 
| 
       149 
149 
     | 
    
         
             
                      body = webmock_response.body
         
     | 
| 
       150 
150 
     | 
    
         
             
                      body = nil if webmock_response.status[0].to_s == '204'
         
     | 
| 
         @@ -159,6 +159,8 @@ module WebMock 
     | 
|
| 
       159 
159 
     | 
    
         | 
| 
       160 
160 
     | 
    
         
             
                      response.instance_variable_set(:@read, true)
         
     | 
| 
       161 
161 
     | 
    
         | 
| 
      
 162 
     | 
    
         
            +
                      response.uri = request_uri
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
       162 
164 
     | 
    
         
             
                      response.extend Net::WebMockHTTPResponse
         
     | 
| 
       163 
165 
     | 
    
         | 
| 
       164 
166 
     | 
    
         
             
                      if webmock_response.should_timeout
         
     | 
| 
         @@ -47,7 +47,9 @@ module WebMock 
     | 
|
| 
       47 
47 
     | 
    
         
             
                  # Rack-specific variables
         
     | 
| 
       48 
48 
     | 
    
         
             
                  env['rack.input']      = StringIO.new(body)
         
     | 
| 
       49 
49 
     | 
    
         
             
                  env['rack.errors']     = $stderr
         
     | 
| 
       50 
     | 
    
         
            -
                   
     | 
| 
      
 50 
     | 
    
         
            +
                  if !Rack.const_defined?(:RELEASE) || Rack::RELEASE < "3"
         
     | 
| 
      
 51 
     | 
    
         
            +
                    env['rack.version']    = Rack::VERSION
         
     | 
| 
      
 52 
     | 
    
         
            +
                  end
         
     | 
| 
       51 
53 
     | 
    
         
             
                  env['rack.url_scheme'] = uri.scheme
         
     | 
| 
       52 
54 
     | 
    
         
             
                  env['rack.run_once']   = true
         
     | 
| 
       53 
55 
     | 
    
         
             
                  env['rack.session']    = session
         
     | 
    
        data/lib/webmock/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: webmock
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.21.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Bartosz Blimke
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2024-02- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2024-02-20 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: addressable
         
     | 
| 
         @@ -371,9 +371,9 @@ licenses: 
     | 
|
| 
       371 
371 
     | 
    
         
             
            - MIT
         
     | 
| 
       372 
372 
     | 
    
         
             
            metadata:
         
     | 
| 
       373 
373 
     | 
    
         
             
              bug_tracker_uri: https://github.com/bblimke/webmock/issues
         
     | 
| 
       374 
     | 
    
         
            -
              changelog_uri: https://github.com/bblimke/webmock/blob/v3. 
     | 
| 
       375 
     | 
    
         
            -
              documentation_uri: https://www.rubydoc.info/gems/webmock/3. 
     | 
| 
       376 
     | 
    
         
            -
              source_code_uri: https://github.com/bblimke/webmock/tree/v3. 
     | 
| 
      
 374 
     | 
    
         
            +
              changelog_uri: https://github.com/bblimke/webmock/blob/v3.21.1/CHANGELOG.md
         
     | 
| 
      
 375 
     | 
    
         
            +
              documentation_uri: https://www.rubydoc.info/gems/webmock/3.21.1
         
     | 
| 
      
 376 
     | 
    
         
            +
              source_code_uri: https://github.com/bblimke/webmock/tree/v3.21.1
         
     | 
| 
       377 
377 
     | 
    
         
             
              wiki_uri: https://github.com/bblimke/webmock/wiki
         
     | 
| 
       378 
378 
     | 
    
         
             
            post_install_message:
         
     | 
| 
       379 
379 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
         @@ -390,7 +390,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       390 
390 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       391 
391 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       392 
392 
     | 
    
         
             
            requirements: []
         
     | 
| 
       393 
     | 
    
         
            -
            rubygems_version: 3.5. 
     | 
| 
      
 393 
     | 
    
         
            +
            rubygems_version: 3.5.6
         
     | 
| 
       394 
394 
     | 
    
         
             
            signing_key:
         
     | 
| 
       395 
395 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       396 
396 
     | 
    
         
             
            summary: Library for stubbing HTTP requests in Ruby.
         
     |