pier_logging 0.1.13 → 0.1.14

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
  SHA256:
3
- metadata.gz: 642d371babd98a5b8714f67e30d18db2ba10f89da453a916044cb078c64453d6
4
- data.tar.gz: 5c47cc13ebddab2937b0c6cdd9abb040e5d6cd7d15f6dab3c3b3ed8becb0da53
3
+ metadata.gz: 5cf700dcf41369d8bf53db3a083f23777b62a30da2250a3297560c2d6aaef187
4
+ data.tar.gz: 25ee1fabd0de22e25b08b3ef356a731b1dd828490699b9dadbb1ddf281fd061e
5
5
  SHA512:
6
- metadata.gz: 93f7ef6e9321afb13e39f07f37f4dfa4475f9be15a33aef48fc64571f468c253049256e0245a7000d394bbceeeb54a77e5297b815f3c9e1bbb8e2e477a311a9a
7
- data.tar.gz: 994b98c846e5c91aa496c18209479f909c6fd4f4a4172bfffa64caf8615926678b707d4b19915d623dea50fa441e0f3081a2e19ab20408b56c87890d2268ad15
6
+ metadata.gz: 9ce0e74e9ef845b85b226dbc44b462a4d1557d8b74faa5ffb937d983fad866430d21f3d6fd53a294638a2f2eae8cdd56226fde35039e5fbe3605143efe23bdea
7
+ data.tar.gz: 8ad7ccc220039ae2d1ffc9baca617d5984af96431729ec635d3e9294a04886bf4afbb7a2d14c45fb43b3f23b9fe796fe128c80b1dc164e1052a2ce1b476cf27a
@@ -54,17 +54,32 @@ module PierLogging
54
54
  end
55
55
 
56
56
  class RequestLoggerConfiguration
57
- attr_reader :enabled, :user_info_getter
57
+ attr_reader :enabled, :user_info_getter, :hide_response_body_for_paths, :log_response
58
58
 
59
59
  def initialize
60
60
  @user_info_getter = nil
61
61
  @enabled = false
62
+ @hide_response_body_for_paths = nil
63
+ @log_response = true
62
64
  end
63
65
 
64
66
  def user_info_getter=(proc)
65
67
  raise ArgumentError, "Config 'user_info_getter' must be a 'Proc'" unless proc.is_a? Proc
66
68
  @user_info_getter = proc
67
69
  end
70
+
71
+ def log_response=(log_response)
72
+ raise ArgumentError, "Config 'log_response' must be a 'boolean'" unless !!log_response == log_response
73
+ @log_response = log_response
74
+ end
75
+
76
+ def hide_response_body_for_paths=(hide_response_body_for_paths)
77
+ unless (hide_response_body_for_paths.is_a? Array) && (hide_response_body_for_paths.all?{|item| item.is_a? Regexp})
78
+ raise ArgumentError, "Config 'hide_response_body_for_paths' must be an 'Array of Regexps'"
79
+ end
80
+
81
+ @hide_response_body_for_paths = hide_response_body_for_paths
82
+ end
68
83
 
69
84
  def enabled=(enabled = false)
70
85
  raise ArgumentError, "Config 'enabled' must be a 'boolean'" unless !!enabled == enabled
@@ -59,7 +59,7 @@ module PierLogging
59
59
  },
60
60
  response: {
61
61
  status: status,
62
- body: parse_body(body),
62
+ body: response_body(request.path, body),
63
63
  type: type['Content-Type'],
64
64
  }
65
65
  })
@@ -75,6 +75,15 @@ module PierLogging
75
75
  transform_keys { |k| k[5..-1].split('_').join('-').upcase }
76
76
  end
77
77
 
78
+ def response_body(request_path, body)
79
+ return nil unless PierLogging.request_logger_configuration.log_response
80
+
81
+ hide_response_body_for_paths = PierLogging.request_logger_configuration.hide_response_body_for_paths
82
+ return nil if hide_response_body_for_paths && hide_response_body_for_paths.any?{ |path|request_path =~ path }
83
+
84
+ parse_body(body)
85
+ end
86
+
78
87
  def build_message_from_request(request)
79
88
  [
80
89
  request.request_method.upcase,
@@ -1,3 +1,3 @@
1
1
  module PierLogging
2
- VERSION = "0.1.13"
2
+ VERSION = "0.1.14"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pier_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauricio Banduk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-09 00:00:00.000000000 Z
11
+ date: 2020-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ougai