finapps_core 3.0.1 → 3.0.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: ea3eada86db869992dfca6efc65c5b9ab2149f7e
4
- data.tar.gz: daad0cf30c7314b65eb59c7af5b05d76014b99c4
3
+ metadata.gz: 667bf4a0e449ab97932da02752a7d3547f79c596
4
+ data.tar.gz: fe5718a3dcaa96c2bb76b93080caaccad4d02082
5
5
  SHA512:
6
- metadata.gz: 618d8d3b29cb46d87cf18951bc853ff4893a75e474d547d1cb30b0b21b41c63616230c62bbfa4a811bdf101e3059a7743c9cc0b2474176f9afe2bdc01f8affc2
7
- data.tar.gz: b3839f978d8f8d6514e7c7b549933c3bc83621e486468b6291c4376eda292de7a4c3873b24311814a0cbc8f6f3b4de6db47459969fd8d2fbd0297902ddc79b30
6
+ metadata.gz: e57b661641b3573c2d0e1adbe5c368a1f2871b30cdf2e99a9a0e88243ad92999f64f7b23833a922ed774cb52ae208ac4158e0453c4b18178e404ea40d0f54ae4
7
+ data.tar.gz: 480516ce8fc5053a9746c1a616605c4bae2537b185c82b45fb5c61d6e08183e9d7de26a2038ef57b49c325be4caeff0183ee3df71002af5245c4b4fa39cf74d1
data/.travis.yml CHANGED
@@ -6,8 +6,6 @@ before_install:
6
6
  - "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
7
7
  - gem update --system
8
8
  - gem --version
9
- - gem install bundler
10
- - bundler --version
11
9
  script:
12
10
  - bundle exec rspec
13
11
  notifications:
data/finapps_core.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = Dir['spec/**/*.rb']
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_runtime_dependency 'faraday', '~> 0.13', '>= 0.13.1'
23
+ spec.add_runtime_dependency 'faraday', '0.13.1'
24
24
  spec.add_runtime_dependency 'faraday_middleware', '~> 0.12', '>= 0.12.2'
25
25
  spec.add_runtime_dependency 'rash_alt', '~> 0.4', '>= 0.4.3'
26
26
  spec.add_runtime_dependency 'typhoeus', '~> 1.3', '>= 1.3.0'
data/lib/finapps_core.rb CHANGED
@@ -19,6 +19,7 @@ require 'finapps_core/middleware/request/tenant_authentication'
19
19
  require 'finapps_core/middleware/request/no_encoding_basic_authentication'
20
20
  require 'finapps_core/middleware/request/accept_json'
21
21
  require 'finapps_core/middleware/request/user_agent'
22
+ require 'finapps_core/middleware/request/request_id'
22
23
  require 'finapps_core/middleware/response/raise_error'
23
24
  require 'finapps_core/middleware/middleware'
24
25
 
@@ -8,6 +8,7 @@ module FinAppsCore
8
8
  autoload :UserAgent, 'finapps_core/middleware/request/user_agent'
9
9
  autoload :NoEncodingBasicAuthentication, 'finapps_core/middleware/request/no_encoding_basic_authentication'
10
10
  autoload :TenantAuthentication, 'finapps_core/middleware/request/tenant_authentication'
11
+ autoload :RequestId, 'finapps_core/middleware/request/request_id'
11
12
  autoload :CustomLogger, 'finapps_core/middleware/response/custom_logger'
12
13
 
13
14
  if Faraday::Middleware.respond_to? :register_middleware
@@ -15,7 +16,8 @@ module FinAppsCore
15
16
  accept_json: -> { AcceptJson },
16
17
  user_agent: -> { UserAgent },
17
18
  no_encoding_basic_authentication: -> { NoEncodingBasicAuthentication },
18
- tenant_authentication: -> { TenantAuthentication }
19
+ tenant_authentication: -> { TenantAuthentication },
20
+ request_id: -> { RequestId }
19
21
  Faraday::Response.register_middleware \
20
22
  custom_logger: -> { CustomLogger }
21
23
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinAppsCore
4
+ module Middleware
5
+ # Adds a header for request id.
6
+ class RequestId < Faraday::Middleware
7
+ KEY = 'X-Request-Id' unless defined? KEY
8
+
9
+ def initialize(app, request_id)
10
+ super(app)
11
+ @request_id = request_id.to_s.strip
12
+ end
13
+
14
+ def call(env)
15
+ env[:request_headers][KEY] = @request_id
16
+ @app.call(env)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -8,7 +8,7 @@ module FinAppsCore
8
8
 
9
9
  attr_accessor :tenant_token, :user_identifier, :user_token,
10
10
  :host, :proxy, :timeout, :retry_limit, :rashify,
11
- :log_level
11
+ :log_level, :request_id
12
12
 
13
13
  def initialize(options={})
14
14
  FinAppsCore::REST::Defaults::DEFAULTS.merge(remove_empty_options(options))
@@ -20,6 +20,7 @@ module FinAppsCore
20
20
  conn.request :multipart
21
21
  conn.request :url_encoded
22
22
  conn.request :no_encoding_basic_authentication, config.user_token if config.valid_user_credentials?
23
+ conn.request :request_id, config.request_id if config.request_id
23
24
 
24
25
  conn.use FinAppsCore::Middleware::RaiseError
25
26
  conn.response :rashify if config.rashify
@@ -7,7 +7,9 @@ module FinAppsCore
7
7
  def logger
8
8
  @logger ||= begin
9
9
  require 'logger'
10
- Logger.new(STDOUT)
10
+ logger = Logger.new(STDOUT)
11
+ logger.level = FinAppsCore::REST::Defaults::DEFAULTS[:log_level]
12
+ logger
11
13
  end
12
14
  end
13
15
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinAppsCore
4
- VERSION = '3.0.1'
4
+ VERSION = '3.0.3'
5
5
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe FinAppsCore::Middleware::RequestId do
4
+ let(:key) { FinAppsCore::Middleware::RequestId::KEY }
5
+ let(:id) { 'request_id' }
6
+ let(:fake_app) { proc {|env| env } }
7
+ let(:env) { {request_headers: {}} }
8
+
9
+ describe '#call' do
10
+ subject { FinAppsCore::Middleware::RequestId.new(fake_app, id) }
11
+
12
+ it('generates a X-Request-Id header') do
13
+ expect(subject.call(env)[:request_headers][key]).to eq(id)
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,33 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finapps_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-16 00:00:00.000000000 Z
11
+ date: 2018-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.13'
20
- - - ">="
17
+ - - '='
21
18
  - !ruby/object:Gem::Version
22
19
  version: 0.13.1
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '0.13'
30
- - - ">="
24
+ - - '='
31
25
  - !ruby/object:Gem::Version
32
26
  version: 0.13.1
33
27
  - !ruby/object:Gem::Dependency
@@ -273,6 +267,7 @@ files:
273
267
  - lib/finapps_core/middleware/middleware.rb
274
268
  - lib/finapps_core/middleware/request/accept_json.rb
275
269
  - lib/finapps_core/middleware/request/no_encoding_basic_authentication.rb
270
+ - lib/finapps_core/middleware/request/request_id.rb
276
271
  - lib/finapps_core/middleware/request/tenant_authentication.rb
277
272
  - lib/finapps_core/middleware/request/user_agent.rb
278
273
  - lib/finapps_core/middleware/response/custom_logger.rb
@@ -291,6 +286,7 @@ files:
291
286
  - spec/core_extensions/object/is_integer_spec.rb
292
287
  - spec/middleware/request/accept_json_spec.rb
293
288
  - spec/middleware/request/no_encoding_basic_authentication_spec.rb
289
+ - spec/middleware/request/request_id_spec.rb
294
290
  - spec/middleware/request/tenant_authentication_spec.rb
295
291
  - spec/middleware/request/user_agent_spec.rb
296
292
  - spec/middleware/response/raise_error_spec.rb
@@ -341,19 +337,20 @@ signing_key:
341
337
  specification_version: 4
342
338
  summary: FinApps REST API ruby client - Core.
343
339
  test_files:
344
- - spec/rest/defaults_spec.rb
345
- - spec/rest/base_client_spec.rb
340
+ - spec/middleware/response/raise_error_spec.rb
341
+ - spec/middleware/request/user_agent_spec.rb
342
+ - spec/middleware/request/no_encoding_basic_authentication_spec.rb
343
+ - spec/middleware/request/request_id_spec.rb
344
+ - spec/middleware/request/tenant_authentication_spec.rb
345
+ - spec/middleware/request/accept_json_spec.rb
346
346
  - spec/rest/credentials_spec.rb
347
347
  - spec/rest/configuration_spec.rb
348
+ - spec/rest/defaults_spec.rb
349
+ - spec/rest/base_client_spec.rb
348
350
  - spec/rest/resources_spec.rb
349
- - spec/support/fake_api.rb
350
351
  - spec/utils/parameter_filter_spec.rb
351
352
  - spec/utils/validatable_spec.rb
352
- - spec/spec_helpers/client.rb
353
+ - spec/support/fake_api.rb
353
354
  - spec/spec_helper.rb
354
355
  - spec/core_extensions/object/is_integer_spec.rb
355
- - spec/middleware/request/no_encoding_basic_authentication_spec.rb
356
- - spec/middleware/request/user_agent_spec.rb
357
- - spec/middleware/request/tenant_authentication_spec.rb
358
- - spec/middleware/request/accept_json_spec.rb
359
- - spec/middleware/response/raise_error_spec.rb
356
+ - spec/spec_helpers/client.rb