restful_resource 2.2.2 → 2.2.3
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f0b710977f827bb7d5698d80989ce066d532dac
|
4
|
+
data.tar.gz: 036d21d808eaf17e83dc0c0dcaaa61e03f2b1005
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13aeb2fd10f632f1b7e99f2cf4ecb7bdfcc8d4856b719ad7cd1ef0a8ffb7640b7a057f2267e2fa03754f77ac56f97fbb349c6491407f6caed487c214a0c262e0
|
7
|
+
data.tar.gz: 4866c6e3d44c15591953ff9f7a096a902466e347d8c5505bb2f9d8a3b07f281a18d5027a85285d228b0796ca2f909ff64aa550916ad2ca4962e741fd1e42ec5e
|
@@ -96,6 +96,7 @@ module RestfulResource
|
|
96
96
|
faraday_config: faraday_config)
|
97
97
|
|
98
98
|
@connection.basic_auth(username, password) if username && password
|
99
|
+
@connection.headers[:user_agent] = build_user_agent(instrumentation[:app_name])
|
99
100
|
@default_open_timeout = open_timeout
|
100
101
|
@default_timeout = timeout
|
101
102
|
end
|
@@ -197,6 +198,13 @@ module RestfulResource
|
|
197
198
|
end
|
198
199
|
end
|
199
200
|
|
201
|
+
def build_user_agent(app_name)
|
202
|
+
parts = ["RestfulResource/#{VERSION}"]
|
203
|
+
parts << "(#{app_name})" if app_name
|
204
|
+
parts << "Faraday/#{Faraday::VERSION}"
|
205
|
+
parts.join(' ')
|
206
|
+
end
|
207
|
+
|
200
208
|
def http_request(request)
|
201
209
|
response = @connection.send(request.method) do |req|
|
202
210
|
req.options.open_timeout = request.open_timeout || default_open_timeout # seconds
|
@@ -186,4 +186,32 @@ RSpec.describe RestfulResource::HttpClient do
|
|
186
186
|
expect(response.status).to eq 200
|
187
187
|
end
|
188
188
|
end
|
189
|
+
|
190
|
+
describe 'User-Agent' do
|
191
|
+
def http_client(connection, app_name: nil)
|
192
|
+
described_class.new(connection: connection, instrumentation: { app_name: app_name })
|
193
|
+
end
|
194
|
+
|
195
|
+
it 'sets a default user-agent header' do
|
196
|
+
connection = faraday_connection do |stubs|
|
197
|
+
user_agent = "RestfulResource/#{RestfulResource::VERSION} Faraday/#{Faraday::VERSION}"
|
198
|
+
stubs.get('http://httpbin.org/get', { 'User-Agent' => user_agent }) { |env| [200, {}, nil] }
|
199
|
+
end
|
200
|
+
|
201
|
+
response = http_client(connection).get('http://httpbin.org/get')
|
202
|
+
|
203
|
+
expect(response.status).to eq 200
|
204
|
+
end
|
205
|
+
|
206
|
+
it 'sets a default user-agent header including app name' do
|
207
|
+
connection = faraday_connection do |stubs|
|
208
|
+
user_agent = "RestfulResource/#{RestfulResource::VERSION} (my-app) Faraday/#{Faraday::VERSION}"
|
209
|
+
stubs.get('http://httpbin.org/get', { 'User-Agent' => user_agent }) { |env| [200, {}, nil] }
|
210
|
+
end
|
211
|
+
|
212
|
+
response = http_client(connection, app_name: "my-app").get('http://httpbin.org/get')
|
213
|
+
|
214
|
+
expect(response.status).to eq 200
|
215
|
+
end
|
216
|
+
end
|
189
217
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restful_resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Santoro
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-03-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -258,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
258
|
version: '0'
|
259
259
|
requirements: []
|
260
260
|
rubyforge_project:
|
261
|
-
rubygems_version: 2.6.
|
261
|
+
rubygems_version: 2.6.14
|
262
262
|
signing_key:
|
263
263
|
specification_version: 4
|
264
264
|
summary: A simple activerecord inspired rest resource base class implemented using
|