saddle 0.0.48 → 0.0.49

Sign up to get free protection for your applications and to get access to all the features.
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