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 +4 -4
- data/lib/pier_logging.rb +9 -1
- data/lib/pier_logging/request_logger.rb +10 -4
- data/lib/pier_logging/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5b9f495421c7b6e2b36d0cd8a0ff5978cba36feaf25350a383900347f58b9eb
|
4
|
+
data.tar.gz: 64339331f573395e582b713b460278ff41df69906b6584765b14f3a6f2f8f122
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cbc2402ac849f1b89938d17e3b33c47829148e5bc67eda1250e189fb0b394385ffbc58877e875c8437cfabf7ddb8e0c524f3e3fce42adec755b5afc4a097cac
|
7
|
+
data.tar.gz: ef22e8acb1ec18fc43b54e60454759a7f2728375344feb9c97b3d8de24db0dfe1bb28cd3e824ba9f9518d03aa8e9db399a3b37856192b43ef9d225b2c9d06a18
|
data/lib/pier_logging.rb
CHANGED
@@ -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
|
-
|
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 =
|
119
|
+
should_redact = replace_keys.any?{ |regex| k =~regex }
|
114
120
|
if (should_redact)
|
115
|
-
[k,
|
121
|
+
[k, replace_by]
|
116
122
|
else
|
117
123
|
[k, v]
|
118
124
|
end
|
data/lib/pier_logging/version.rb
CHANGED