api-blueprint 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbe8141b2203fbf4750fdca07e4f59e4e2523a2e
4
- data.tar.gz: 552ae98914367172699bba691641ec34e05b7fd2
3
+ metadata.gz: 107d220ee5caf5652b5aa9d19e6cf48d9650873f
4
+ data.tar.gz: ddde847693510961973b9c9463373b6a92ae6104
5
5
  SHA512:
6
- metadata.gz: 1e5da3422084f8da9be57ef451929a1a2667a0e1b62c3f31bf283ce3ef900f7c75e7b5f001e623ecb7d0363eb3ecd23e45d2e7f735b97884bd6a6aefca231eed
7
- data.tar.gz: d6863b6922dccb2a4847d8c543f25c19e070c126bb610b8511bdf2eb16904744b3975db4e1e3eab5b86974467b1489db011b7b77d387e7b1f17345d26e8db6e5
6
+ metadata.gz: 8eb0d1ccdf38f848f47d6a6a23d651f405cdd73c44b545565d03741c9a31443a3afb7d7cfa7d741991d05cc0873ebd8186ae659f99150899311f42d106037f82
7
+ data.tar.gz: c60d05fc38eeb6039a31c6e18ab79d9080c55bfd5ae288cd7222f4feea145522a70d68cb7d4bb17f6c5b547ae2a4176cb4f850f9737f3fcbfb178ce04e32dd76
@@ -3,6 +3,7 @@ require 'dry-struct'
3
3
  require 'dry-initializer'
4
4
  require 'faraday'
5
5
  require 'faraday_middleware'
6
+ require 'faraday/detailed_logger'
6
7
  require 'active_model'
7
8
  require 'addressable'
8
9
  require 'active_support'
@@ -21,6 +22,10 @@ require 'api-blueprint/runner'
21
22
  require 'api-blueprint/collection'
22
23
 
23
24
  module ApiBlueprint
25
+ extend Dry::Configurable
26
+
27
+ setting :logger, nil
28
+
24
29
  class ResponseError < StandardError
25
30
  attr_reader :status, :headers, :body
26
31
  def initialize(env)
@@ -43,7 +43,11 @@ module ApiBlueprint
43
43
  Faraday.new do |conn|
44
44
  conn.use ApiBlueprint::ResponseMiddleware
45
45
  conn.response :json, content_type: /\bjson$/
46
- conn.response :logger if log_responses
46
+ conn.use :instrumentation, name: "api-blueprint.request"
47
+
48
+ if enable_response_logging?
49
+ conn.response :detailed_logger, ApiBlueprint.config.logger, "API-BLUEPRINT"
50
+ end
47
51
 
48
52
  conn.adapter Faraday.default_adapter
49
53
  conn.headers = {
@@ -96,5 +100,13 @@ module ApiBlueprint
96
100
  obj.errors.add field.to_sym, messages
97
101
  end
98
102
 
103
+ def enable_response_logging?
104
+ if defined?(Rails) && Rails.env.production?
105
+ log_responses && ENV["ENABLE_PRODUCTION_RESPONSE_LOGGING"]
106
+ else
107
+ log_responses
108
+ end
109
+ end
110
+
99
111
  end
100
112
  end
@@ -1,3 +1,3 @@
1
1
  module ApiBlueprint
2
- VERSION = '0.7.2'
2
+ VERSION = '0.8.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-blueprint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damien Timewell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-16 00:00:00.000000000 Z
11
+ date: 2018-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-types
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: faraday-detailed_logger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: activemodel
99
113
  requirement: !ruby/object:Gem::Requirement