restful_resource 2.19.1 → 2.19.2
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 +4 -0
- data/lib/restful_resource/faraday_instrumentation_middleware.rb +22 -0
- data/lib/restful_resource/http_client.rb +1 -1
- data/lib/restful_resource/version.rb +1 -1
- data/lib/restful_resource.rb +2 -1
- data/restful_resource.gemspec +1 -1
- data/spec/restful_resource/http_client_configuration_spec.rb +4 -4
- metadata +13 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 14323bd6e2637680c2d405ea680e837525108165986ea58220e47517f913a8e6
|
|
4
|
+
data.tar.gz: 21a8cfd6e3a4830e4af1c050c237bd3e58960f6dd221e6e25f12507090ae0409
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 21dd821aec6d3131d86cfa09a5a3e34e2d6d2a87d7f1d089db67666276e603085cb109f8e66769f631df0a84225965ef88ef98a1d2820a1328e4d99beda582d0
|
|
7
|
+
data.tar.gz: f8a7f4c6a88f817f154b077a2b5c31ca7d80a4dc352e7a78e7cd4856667e630dd1ad0bf667dd3fd4fd2c8d449fac3f7846e4a5c4cde923c68734139bd51aa700
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
2.19.2
|
|
3
|
+
---
|
|
4
|
+
- Drop `faraday_middleware` dependency (deprecated upstream, no Faraday 2 support). `:gzip` now uses the `faraday-gzip` gem; `:instrumentation` is a small custom middleware reproducing the previous behaviour. `faraday` stays `~> 1.10` for now.
|
|
5
|
+
|
|
2
6
|
2.19.1
|
|
3
7
|
---
|
|
4
8
|
- Update activesupport requirement to `>= 7, < 9`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'faraday'
|
|
2
|
+
require 'active_support/notifications'
|
|
3
|
+
|
|
4
|
+
module RestfulResource
|
|
5
|
+
# Faraday middleware that instruments requests via ActiveSupport::Notifications.
|
|
6
|
+
# Replaces FaradayMiddleware::Instrumentation, which the faraday_middleware gem
|
|
7
|
+
# does not ship a Faraday 2 compatible release of.
|
|
8
|
+
class InstrumentationMiddleware < Faraday::Middleware
|
|
9
|
+
def initialize(app, name: 'request.faraday')
|
|
10
|
+
super(app)
|
|
11
|
+
@name = name
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def call(env)
|
|
15
|
+
ActiveSupport::Notifications.instrument(@name, env) do
|
|
16
|
+
@app.call(env)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Faraday::Middleware.register_middleware(instrumentation: RestfulResource::InstrumentationMiddleware)
|
data/lib/restful_resource.rb
CHANGED
|
@@ -2,13 +2,14 @@ require 'rack'
|
|
|
2
2
|
require 'uri'
|
|
3
3
|
require 'link_header'
|
|
4
4
|
require 'faraday'
|
|
5
|
-
require '
|
|
5
|
+
require 'faraday/gzip'
|
|
6
6
|
require 'faraday-http-cache'
|
|
7
7
|
require 'faraday_cdn_metrics'
|
|
8
8
|
require 'faraday/encoding'
|
|
9
9
|
require 'active_support'
|
|
10
10
|
require 'active_support/all'
|
|
11
11
|
require_relative 'restful_resource/version'
|
|
12
|
+
require_relative 'restful_resource/faraday_instrumentation_middleware'
|
|
12
13
|
require_relative 'restful_resource/null_logger'
|
|
13
14
|
require_relative 'restful_resource/paginated_array'
|
|
14
15
|
require_relative 'restful_resource/parameter_missing_error'
|
data/restful_resource.gemspec
CHANGED
|
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_dependency 'faraday', '~> 1.10'
|
|
31
31
|
spec.add_dependency 'faraday-cdn-metrics', '~> 0.2'
|
|
32
32
|
spec.add_dependency 'faraday-encoding'
|
|
33
|
+
spec.add_dependency 'faraday-gzip', '~> 2.0'
|
|
33
34
|
spec.add_dependency 'faraday-http-cache', '~> 2.2'
|
|
34
|
-
spec.add_dependency 'faraday_middleware', '~> 1.0'
|
|
35
35
|
spec.add_dependency 'link_header'
|
|
36
36
|
spec.add_dependency 'ostruct'
|
|
37
37
|
spec.add_dependency 'rack', '~> 3'
|
|
@@ -31,13 +31,13 @@ describe RestfulResource::HttpClient do
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
it 'compresses requests' do
|
|
34
|
-
expect(middleware).to include
|
|
34
|
+
expect(middleware).to include Faraday::Gzip::Middleware
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
describe 'instrumentation' do
|
|
38
38
|
context 'with the default key' do
|
|
39
39
|
it 'uses default instrumenter and key' do
|
|
40
|
-
expect(find_middleware_args(connection, '
|
|
40
|
+
expect(find_middleware_args(connection, 'RestfulResource::InstrumentationMiddleware')).to include(name: 'http.api')
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -45,7 +45,7 @@ describe RestfulResource::HttpClient do
|
|
|
45
45
|
let(:connection) { described_class.new(instrumentation: { api_name: 'my_api_name' }).instance_variable_get('@connection') }
|
|
46
46
|
|
|
47
47
|
it 'uses default instrumenter with the api_name' do
|
|
48
|
-
expect(find_middleware_args(connection, '
|
|
48
|
+
expect(find_middleware_args(connection, 'RestfulResource::InstrumentationMiddleware')).to include(name: 'http.my_api_name')
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
@@ -53,7 +53,7 @@ describe RestfulResource::HttpClient do
|
|
|
53
53
|
let(:connection) { described_class.new(instrumentation: { request_instrument_name: 'foo.bar' }).instance_variable_get('@connection') }
|
|
54
54
|
|
|
55
55
|
it 'uses default instrumenter with the custom key' do
|
|
56
|
-
expect(find_middleware_args(connection, '
|
|
56
|
+
expect(find_middleware_args(connection, 'RestfulResource::InstrumentationMiddleware')).to include(name: 'foo.bar')
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
metadata
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: restful_resource
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.19.
|
|
4
|
+
version: 2.19.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Santoro
|
|
8
8
|
- Federico Rebora
|
|
9
|
+
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2026-08-17 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: bundler
|
|
@@ -171,33 +172,33 @@ dependencies:
|
|
|
171
172
|
- !ruby/object:Gem::Version
|
|
172
173
|
version: '0'
|
|
173
174
|
- !ruby/object:Gem::Dependency
|
|
174
|
-
name: faraday-
|
|
175
|
+
name: faraday-gzip
|
|
175
176
|
requirement: !ruby/object:Gem::Requirement
|
|
176
177
|
requirements:
|
|
177
178
|
- - "~>"
|
|
178
179
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '2.
|
|
180
|
+
version: '2.0'
|
|
180
181
|
type: :runtime
|
|
181
182
|
prerelease: false
|
|
182
183
|
version_requirements: !ruby/object:Gem::Requirement
|
|
183
184
|
requirements:
|
|
184
185
|
- - "~>"
|
|
185
186
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '2.
|
|
187
|
+
version: '2.0'
|
|
187
188
|
- !ruby/object:Gem::Dependency
|
|
188
|
-
name:
|
|
189
|
+
name: faraday-http-cache
|
|
189
190
|
requirement: !ruby/object:Gem::Requirement
|
|
190
191
|
requirements:
|
|
191
192
|
- - "~>"
|
|
192
193
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '
|
|
194
|
+
version: '2.2'
|
|
194
195
|
type: :runtime
|
|
195
196
|
prerelease: false
|
|
196
197
|
version_requirements: !ruby/object:Gem::Requirement
|
|
197
198
|
requirements:
|
|
198
199
|
- - "~>"
|
|
199
200
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '
|
|
201
|
+
version: '2.2'
|
|
201
202
|
- !ruby/object:Gem::Dependency
|
|
202
203
|
name: link_header
|
|
203
204
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -265,6 +266,7 @@ files:
|
|
|
265
266
|
- lib/restful_resource/associations.rb
|
|
266
267
|
- lib/restful_resource/authorization.rb
|
|
267
268
|
- lib/restful_resource/base.rb
|
|
269
|
+
- lib/restful_resource/faraday_instrumentation_middleware.rb
|
|
268
270
|
- lib/restful_resource/http_client.rb
|
|
269
271
|
- lib/restful_resource/instrumentation.rb
|
|
270
272
|
- lib/restful_resource/null_logger.rb
|
|
@@ -296,6 +298,7 @@ homepage: http://www.github.com/carwow/restful_resource
|
|
|
296
298
|
licenses:
|
|
297
299
|
- MIT
|
|
298
300
|
metadata: {}
|
|
301
|
+
post_install_message:
|
|
299
302
|
rdoc_options: []
|
|
300
303
|
require_paths:
|
|
301
304
|
- lib
|
|
@@ -310,7 +313,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
310
313
|
- !ruby/object:Gem::Version
|
|
311
314
|
version: '0'
|
|
312
315
|
requirements: []
|
|
313
|
-
rubygems_version: 3.
|
|
316
|
+
rubygems_version: 3.5.20
|
|
317
|
+
signing_key:
|
|
314
318
|
specification_version: 4
|
|
315
319
|
summary: A simple activerecord inspired rest resource base class implemented using
|
|
316
320
|
rest-client
|