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 +4 -4
- data/.travis.yml +0 -2
- data/finapps_core.gemspec +1 -1
- data/lib/finapps_core.rb +1 -0
- data/lib/finapps_core/middleware/middleware.rb +3 -1
- data/lib/finapps_core/middleware/request/request_id.rb +20 -0
- data/lib/finapps_core/rest/configuration.rb +1 -1
- data/lib/finapps_core/rest/connection.rb +1 -0
- data/lib/finapps_core/utils/loggeable.rb +3 -1
- data/lib/finapps_core/version.rb +1 -1
- data/spec/middleware/request/request_id_spec.rb +16 -0
- metadata +16 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 667bf4a0e449ab97932da02752a7d3547f79c596
|
4
|
+
data.tar.gz: fe5718a3dcaa96c2bb76b93080caaccad4d02082
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e57b661641b3573c2d0e1adbe5c368a1f2871b30cdf2e99a9a0e88243ad92999f64f7b23833a922ed774cb52ae208ac4158e0453c4b18178e404ea40d0f54ae4
|
7
|
+
data.tar.gz: 480516ce8fc5053a9746c1a616605c4bae2537b185c82b45fb5c61d6e08183e9d7de26a2038ef57b49c325be4caeff0183ee3df71002af5245c4b4fa39cf74d1
|
data/.travis.yml
CHANGED
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', '
|
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
|
data/lib/finapps_core/version.rb
CHANGED
@@ -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.
|
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-
|
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/
|
345
|
-
- spec/
|
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/
|
353
|
+
- spec/support/fake_api.rb
|
353
354
|
- spec/spec_helper.rb
|
354
355
|
- spec/core_extensions/object/is_integer_spec.rb
|
355
|
-
- spec/
|
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
|