pier_logging 0.3.2 → 0.3.3
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 +17 -2
- data/lib/pier_logging/request_logger.rb +11 -2
- 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: a55ccf237c0b0f40cdc5a97c3b1409112de8343a8b1070f1b70d814ef4ed4dad
|
4
|
+
data.tar.gz: acd0969b17612d4f42d1c8229699c5176e2aa8ebfdf13a5fd8c07b64b94602d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56f1b5ca14007773f0604a3bf8720f81f5950892120e260a9a7c6a9231680edf4ece11c5702714e29a07ccae6c9490d8b406a992c78af8e6c1e85a887fa05deb
|
7
|
+
data.tar.gz: 79c17490ba3109bdbce3a06dd8fa45f92b6537a350e274273d5856208b99f878e9d085d4d194f7c8b62490af5b051b568d1a9eb74552993bb55c0962815a92d0
|
data/lib/pier_logging.rb
CHANGED
@@ -54,13 +54,15 @@ module PierLogging
|
|
54
54
|
end
|
55
55
|
|
56
56
|
class RequestLoggerConfiguration
|
57
|
-
attr_reader :enabled, :user_info_getter, :hide_response_body_for_paths,
|
58
|
-
:log_response, :hide_request_headers, :correlation_id_getter
|
57
|
+
attr_reader :enabled, :user_info_getter, :hide_request_body_for_paths, :hide_response_body_for_paths,
|
58
|
+
:log_request_body, :log_response, :hide_request_headers, :correlation_id_getter
|
59
59
|
|
60
60
|
def initialize
|
61
61
|
@user_info_getter = ->(_ = nil) { nil }
|
62
62
|
@enabled = false
|
63
|
+
@hide_request_body_for_paths = nil
|
63
64
|
@hide_response_body_for_paths = nil
|
65
|
+
@log_request_body = true
|
64
66
|
@log_response = true
|
65
67
|
@hide_request_headers = nil
|
66
68
|
@correlation_id_getter = ->(_ = nil, _ = nil) { nil }
|
@@ -71,11 +73,24 @@ module PierLogging
|
|
71
73
|
@user_info_getter = proc
|
72
74
|
end
|
73
75
|
|
76
|
+
def log_request_body=(log_request_body)
|
77
|
+
raise ArgumentError, "Config 'log_request_body' must be a 'boolean'" unless !!log_request_body == log_request_body
|
78
|
+
@log_request_body = log_request_body
|
79
|
+
end
|
80
|
+
|
74
81
|
def log_response=(log_response)
|
75
82
|
raise ArgumentError, "Config 'log_response' must be a 'boolean'" unless !!log_response == log_response
|
76
83
|
@log_response = log_response
|
77
84
|
end
|
78
85
|
|
86
|
+
def hide_request_body_for_paths=(hide_request_body_for_paths)
|
87
|
+
unless (hide_request_body_for_paths.is_a? Array) && (hide_request_body_for_paths.all?{|item| item.is_a? Regexp})
|
88
|
+
raise ArgumentError, "Config 'hide_request_body_for_paths' must be an 'Array of Regexps'"
|
89
|
+
end
|
90
|
+
|
91
|
+
@hide_request_body_for_paths = hide_request_body_for_paths
|
92
|
+
end
|
93
|
+
|
79
94
|
def hide_response_body_for_paths=(hide_response_body_for_paths)
|
80
95
|
unless (hide_response_body_for_paths.is_a? Array) && (hide_response_body_for_paths.all?{|item| item.is_a? Regexp})
|
81
96
|
raise ArgumentError, "Config 'hide_response_body_for_paths' must be an 'Array of Regexps'"
|
@@ -57,7 +57,7 @@ module PierLogging
|
|
57
57
|
headers: request_headers,
|
58
58
|
href: request.url,
|
59
59
|
query_string: request.query_string,
|
60
|
-
body:
|
60
|
+
body: request_body(request.path, request.body)
|
61
61
|
},
|
62
62
|
response: {
|
63
63
|
status: status,
|
@@ -83,11 +83,20 @@ module PierLogging
|
|
83
83
|
headers
|
84
84
|
end
|
85
85
|
|
86
|
+
def request_body(request_path, body)
|
87
|
+
return nil unless PierLogging.request_logger_configuration.log_request_body
|
88
|
+
|
89
|
+
hide_request_body_for_paths = PierLogging.request_logger_configuration.hide_request_body_for_paths
|
90
|
+
return nil if hide_request_body_for_paths&.any?{ |path|request_path =~ path }
|
91
|
+
|
92
|
+
parse_body(body)
|
93
|
+
end
|
94
|
+
|
86
95
|
def response_body(request_path, body)
|
87
96
|
return nil unless PierLogging.request_logger_configuration.log_response
|
88
97
|
|
89
98
|
hide_response_body_for_paths = PierLogging.request_logger_configuration.hide_response_body_for_paths
|
90
|
-
return nil if hide_response_body_for_paths
|
99
|
+
return nil if hide_response_body_for_paths&.any?{ |path|request_path =~ path }
|
91
100
|
|
92
101
|
parse_body(body)
|
93
102
|
end
|
data/lib/pier_logging/version.rb
CHANGED