saddle 0.0.48 → 0.0.49

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Yjk4ZjdjM2Y4ZGM5NDk1ZjI0MzA5M2ZjY2EyZTA0ODRlMTA0YjY0MQ==
4
+ YmNmNGRkZmYxMGUxNjNhYWQ2MGUzNDYyMTRlODVkODg0Yjk0YjgzZQ==
5
5
  data.tar.gz: !binary |-
6
- Yjk0ZWYwMjVkNmE0MDgzZmE4MDYyOWZlYjJkOTcyMTllZTcyN2E1Mw==
6
+ YTJjNmJmNjBlMGJkNjQxM2YyYWE5ZTQyOTk3NmNiODUyZjM3M2E1Nw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjBjZWI3Y2RjZWNhZGQwMmExODY2NzVkMzRiMDBlMGQ1MzRlZWVlNzc1Y2Jm
10
- NTA3MjAxODk2YjE1ZTgyYjU4MjEwODkxMWE4ZDEyZWY4ZTNmOGVmMjMyNmRl
11
- MGRlMDYzNzQxMjZkNzlhMzcwNWJhMWYwYTU3OGUyZDVhMTQ5OWQ=
9
+ NWY5OGJmNTc3YjIyNTM4YTk4YzIyMTg1MmQ1YWQxODdlNjUyOTgyOGI1YjFl
10
+ OWNjNDEzNWM2MDRmYjliYWZhMWQ2OWM2Zjk4Y2U1N2RmMjE0MzFlZGNmMzIx
11
+ N2IyMjkxZjJhZmZlZjZiNjJiZjIxZGVmODRlNzIxZGVhNDY1M2M=
12
12
  data.tar.gz: !binary |-
13
- OGFmNWY3MWY3MmMxMDM2MjBiMDY0NDMxMTEwZjZmYjFmYmY2ZWRhYTcwYmMw
14
- YWEyZGJmYWJjMGFkZGVkMjRhN2Q2MDBmODFiZGZmMjY2Yzg4Y2UzZThiNWMy
15
- OTI4OTI2YWUxODVjOGQ1MTM4ZjgyMjg5N2RhNjBjYjgyMjQzMmE=
13
+ MDdkOTMxN2MxN2VjZTY3M2U5ZDVkYWMzOGYzOTMwZGQ4MDkxZjA0OTgxNzUw
14
+ MTJkM2E4NTQ1NDhhNzdhYWM3ZWI3ZDA5M2JlMDZlOTYzZjI4NTZjMGViMjE0
15
+ ZGQ4MzkxZTQ1ZWQ4YmQ5ZTNmODQxZDQ1ZTUyMzNhZTlkNGM1ZWE=
data/.gitignore CHANGED
@@ -7,6 +7,7 @@
7
7
 
8
8
  # rbenv
9
9
  .ruby-version
10
+ .ruby-gemset
10
11
 
11
12
  # Gems
12
13
  *.gem
@@ -1,3 +1,6 @@
1
+ # 0.0.49
2
+ * Support `extra_env` as a client option to load more into the env pre-adapter.
3
+
1
4
  # 0.0.48
2
5
  * Optionally return the full response object using `:return_full_response`
3
6
 
@@ -0,0 +1,21 @@
1
+ require 'faraday'
2
+
3
+
4
+
5
+ module Saddle
6
+ module Middleware
7
+
8
+ # Public: Adds the content of `extra_env` into the env variable
9
+
10
+ class ExtraEnv < Faraday::Middleware
11
+ def call(env)
12
+ if env[:request][:client_options][:extra_env]
13
+ env.merge!(env[:request][:client_options][:extra_env])
14
+ end
15
+
16
+ @app.call env
17
+ end
18
+ end
19
+
20
+ end
21
+ end
@@ -14,6 +14,7 @@ module Saddle
14
14
  :request_style => request_style,
15
15
  :num_retries => num_retries,
16
16
  :timeout => timeout,
17
+ :extra_env => extra_env,
17
18
  :http_adapter => http_adapter,
18
19
  :stubs => stubs,
19
20
  :return_full_response => return_full_response,
@@ -57,10 +58,15 @@ module Saddle
57
58
  30
58
59
  end
59
60
 
61
+ # If we need to load more into env before it passes to the adapter, use this
62
+ def extra_env
63
+ {}
64
+ end
65
+
60
66
  # Support specification of the HTTP adapter being used. Returns a symbol or
61
67
  # hash of the form { :key => :net_http, :args => [ ... ] }.
62
68
  def http_adapter
63
- :net_http
69
+ { :key => :net_http, :args => [] }
64
70
  end
65
71
 
66
72
  # If the Typhoeus adapter is being used, pass stubs to it for testing.
@@ -14,6 +14,7 @@ require 'saddle/middleware/response/default_response'
14
14
  require 'saddle/middleware/response/parse_json'
15
15
  require 'saddle/middleware/response/raise_error'
16
16
 
17
+ require 'saddle/middleware/extra_env'
17
18
  require 'saddle/middleware/ruby_timeout'
18
19
 
19
20
 
@@ -54,6 +55,8 @@ module Saddle
54
55
  raise ':num_retries must be an integer' unless @num_retries.is_a?(Fixnum)
55
56
  @timeout = opt[:timeout]
56
57
  raise ':timeout must be nil or an integer' unless (@timeout.nil? || @timeout.is_a?(Numeric))
58
+ @extra_env = opt[:extra_env] || {}
59
+ raise 'extra_env must be a Hash' unless @extra_env.is_a?(Hash)
57
60
  @additional_middlewares = opt[:additional_middlewares] || []
58
61
  raise ':additional_middleware must be an Array' unless @additional_middlewares.is_a?(Array)
59
62
  raise 'invalid middleware found' unless @additional_middlewares.all? { |m| m[:klass] < Faraday::Middleware }
@@ -172,6 +175,9 @@ module Saddle
172
175
  # Set up instrumentation around the adapter for extensibility
173
176
  builder.use(FaradayMiddleware::Instrumentation)
174
177
 
178
+ # Add in extra env data if needed
179
+ builder.use(Saddle::Middleware::ExtraEnv)
180
+
175
181
  # Set up our adapter
176
182
  if @stubs.nil?
177
183
  # Use the default adapter
@@ -1,3 +1,3 @@
1
1
  module Saddle
2
- VERSION = '0.0.48'
2
+ VERSION = '0.0.49'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saddle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.48
4
+ version: 0.0.49
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Lewis
@@ -90,6 +90,7 @@ files:
90
90
  - lib/saddle/method_tree_builder.rb
91
91
  - lib/saddle/middleware/authentication/oauth1.rb
92
92
  - lib/saddle/middleware/authentication/oauth2.rb
93
+ - lib/saddle/middleware/extra_env.rb
93
94
  - lib/saddle/middleware/logging/airbrake.rb
94
95
  - lib/saddle/middleware/logging/rails.rb
95
96
  - lib/saddle/middleware/logging/statsd.rb