pier_logging 0.1.14 → 0.1.15

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: 5cf700dcf41369d8bf53db3a083f23777b62a30da2250a3297560c2d6aaef187
4
- data.tar.gz: 25ee1fabd0de22e25b08b3ef356a731b1dd828490699b9dadbb1ddf281fd061e
3
+ metadata.gz: d5b9f495421c7b6e2b36d0cd8a0ff5978cba36feaf25350a383900347f58b9eb
4
+ data.tar.gz: 64339331f573395e582b713b460278ff41df69906b6584765b14f3a6f2f8f122
5
5
  SHA512:
6
- metadata.gz: 9ce0e74e9ef845b85b226dbc44b462a4d1557d8b74faa5ffb937d983fad866430d21f3d6fd53a294638a2f2eae8cdd56226fde35039e5fbe3605143efe23bdea
7
- data.tar.gz: 8ad7ccc220039ae2d1ffc9baca617d5984af96431729ec635d3e9294a04886bf4afbb7a2d14c45fb43b3f23b9fe796fe128c80b1dc164e1052a2ce1b476cf27a
6
+ metadata.gz: 9cbc2402ac849f1b89938d17e3b33c47829148e5bc67eda1250e189fb0b394385ffbc58877e875c8437cfabf7ddb8e0c524f3e3fce42adec755b5afc4a097cac
7
+ data.tar.gz: ef22e8acb1ec18fc43b54e60454759a7f2728375344feb9c97b3d8de24db0dfe1bb28cd3e824ba9f9518d03aa8e9db399a3b37856192b43ef9d225b2c9d06a18
@@ -54,13 +54,14 @@ module PierLogging
54
54
  end
55
55
 
56
56
  class RequestLoggerConfiguration
57
- attr_reader :enabled, :user_info_getter, :hide_response_body_for_paths, :log_response
57
+ attr_reader :enabled, :user_info_getter, :hide_response_body_for_paths, :log_response, :hide_request_headers
58
58
 
59
59
  def initialize
60
60
  @user_info_getter = nil
61
61
  @enabled = false
62
62
  @hide_response_body_for_paths = nil
63
63
  @log_response = true
64
+ @hide_request_headers = nil
64
65
  end
65
66
 
66
67
  def user_info_getter=(proc)
@@ -80,6 +81,13 @@ module PierLogging
80
81
 
81
82
  @hide_response_body_for_paths = hide_response_body_for_paths
82
83
  end
84
+
85
+ def hide_request_headers=(hide_request_headers)
86
+ unless (hide_request_headers.is_a? Array) && (hide_request_headers.all?{|item| item.is_a? Regexp})
87
+ raise ArgumentError, "Config 'hide_request_headers' must be an 'Array of Regexps'"
88
+ end
89
+ @hide_request_headers = hide_request_headers
90
+ end
83
91
 
84
92
  def enabled=(enabled = false)
85
93
  raise ArgumentError, "Config 'enabled' must be a 'boolean'" unless !!enabled == enabled
@@ -71,8 +71,14 @@ module PierLogging
71
71
 
72
72
  private
73
73
  def get_request_headers_from_env(env)
74
- env.select { |k,v| k[0..4] == 'HTTP_'}.
74
+ hide_request_headers = PierLogging.request_logger_configuration.hide_request_headers
75
+
76
+ headers = env.select { |k,v| k[0..4] == 'HTTP_'}.
75
77
  transform_keys { |k| k[5..-1].split('_').join('-').upcase }
78
+
79
+ return redact_hash(headers, hide_request_headers, nil) if hide_request_headers.present?
80
+
81
+ headers
76
82
  end
77
83
 
78
84
  def response_body(request_path, body)
@@ -108,11 +114,11 @@ module PierLogging
108
114
  body
109
115
  end
110
116
 
111
- def redact_hash(hash)
117
+ def redact_hash(hash, replace_keys = REDACT_REPLACE_KEYS, replace_by = REDACT_REPLACE_BY)
112
118
  hash.traverse do |k,v|
113
- should_redact = REDACT_REPLACE_KEYS.any?{ |regex| k =~regex }
119
+ should_redact = replace_keys.any?{ |regex| k =~regex }
114
120
  if (should_redact)
115
- [k, REDACT_REPLACE_BY]
121
+ [k, replace_by]
116
122
  else
117
123
  [k, v]
118
124
  end
@@ -1,3 +1,3 @@
1
1
  module PierLogging
2
- VERSION = "0.1.14"
2
+ VERSION = "0.1.15"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pier_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauricio Banduk