webmock 3.20.0 → 3.21.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ffda5916fee8f80d1d0a725b7de314652a588658189bb28ad7a984551d406a3a
4
- data.tar.gz: f2aa5c1f78094f72f9c7310dfbb3e866be2acc6910bd3c3a1a4e562744e0fa65
3
+ metadata.gz: 00fe33740b645d6ee1a843e8a863287c784171a411e36a6a03a9964d1a0f5d1e
4
+ data.tar.gz: 581a52244e5ae82837eefbbc750d3785db5c465380885a865332d7c483c73acd
5
5
  SHA512:
6
- metadata.gz: e3fbfb98e4a6d090abd630ccfea78f5b06038e3f6d4683bd1f651f6c8b07b31698f71f9588df1a8d90066ab0d38a088a604204b4f710bfd9249235a9f2664453
7
- data.tar.gz: ffcaf10bc3cd523f6c12c2209fc4e48fb34813e520789ca78ee0cb65b3285f7bf1534ef36faafbd61a49d82ca547f2ecfb3ea74b33b5ba3b4294493f0683942d
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
- env['rack.version'] = Rack::VERSION
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WebMock
4
- VERSION = '3.20.0' unless defined?(::WebMock::VERSION)
4
+ VERSION = '3.21.1' unless defined?(::WebMock::VERSION)
5
5
  end
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.20.0
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-06 00:00:00.000000000 Z
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.20.0/CHANGELOG.md
375
- documentation_uri: https://www.rubydoc.info/gems/webmock/3.20.0
376
- source_code_uri: https://github.com/bblimke/webmock/tree/v3.20.0
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.3
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.