apimatic_core 0.3.7 → 0.3.8
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c4d7987cd14dba534fc21ecff7af13a00e80d0dc83c87bcdf3ac88f38e74ae4
|
4
|
+
data.tar.gz: 7c9ad8e1dc5944172bb0fbd8e34d55555f6e9e9292de818000f4d2de9c5ae6b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: edbb96486fd7db0982e0d1d43247b839d015c799fc59d6493687d128b5952999f82d5c95752c15dc7aff2829c2f4f5e2a10ae42b882992bb00a5255e41321402
|
7
|
+
data.tar.gz: cc683617c4117e1fdb58ca1da197af7873ad29b985a3ca7e135ef8db3d54d1113908821877d126fd74d4a1be0d9041942e5142a2dcf70d8223447f010aabb2fc
|
@@ -13,7 +13,8 @@ module CoreLibrary
|
|
13
13
|
content_type_header = LoggerHelper.get_content_type(request.headers)
|
14
14
|
url = @request_logging_config.include_query_in_path ? request.query_url : request.query_url.split('?').first
|
15
15
|
|
16
|
-
@logger.log(@log_level, "Request {#{METHOD}} {#{URL}} {#{CONTENT_TYPE_HEADER}}",
|
16
|
+
@logger.log(@log_level, "Request {#{METHOD}} {#{URL}} {#{CONTENT_TYPE_HEADER}}",
|
17
|
+
{
|
17
18
|
METHOD => request.http_method,
|
18
19
|
URL => url,
|
19
20
|
CONTENT_TYPE_HEADER => content_type_header
|
@@ -26,7 +27,8 @@ module CoreLibrary
|
|
26
27
|
content_type_header = LoggerHelper.get_content_type(response.headers)
|
27
28
|
content_length_header = LoggerHelper.get_content_length(response.headers)
|
28
29
|
|
29
|
-
@logger.log(@log_level, "Response {#{STATUS_CODE}} {#{CONTENT_LENGTH_HEADER}} {#{CONTENT_TYPE_HEADER}}",
|
30
|
+
@logger.log(@log_level, "Response {#{STATUS_CODE}} {#{CONTENT_LENGTH_HEADER}} {#{CONTENT_TYPE_HEADER}}",
|
31
|
+
{
|
30
32
|
STATUS_CODE => response.status_code,
|
31
33
|
CONTENT_LENGTH_HEADER => content_length_header,
|
32
34
|
CONTENT_TYPE_HEADER => content_type_header
|
@@ -40,39 +42,37 @@ module CoreLibrary
|
|
40
42
|
def apply_log_request_options(request)
|
41
43
|
headers_to_log = LoggerHelper.extract_headers_to_log(
|
42
44
|
@request_logging_config,
|
45
|
+
@mask_sensitive_headers,
|
43
46
|
request.headers
|
44
47
|
)
|
45
48
|
|
46
49
|
if @request_logging_config.log_headers
|
47
|
-
@logger.log(@log_level, 'Request headers {headers}',
|
48
|
-
|
49
|
-
})
|
50
|
+
@logger.log(@log_level, 'Request headers {headers}',
|
51
|
+
{ headers: headers_to_log })
|
50
52
|
end
|
51
53
|
|
52
54
|
return unless @request_logging_config.log_body
|
53
55
|
|
54
|
-
@logger.log(@log_level, 'Request body {body}',
|
55
|
-
|
56
|
-
})
|
56
|
+
@logger.log(@log_level, 'Request body {body}',
|
57
|
+
{ body: request.parameters })
|
57
58
|
end
|
58
59
|
|
59
60
|
def apply_log_response_options(response)
|
60
61
|
headers_to_log = LoggerHelper.extract_headers_to_log(
|
61
62
|
@response_logging_config,
|
63
|
+
@mask_sensitive_headers,
|
62
64
|
response.headers
|
63
65
|
)
|
64
66
|
|
65
67
|
if @response_logging_config.log_headers
|
66
|
-
@logger.log(@log_level, 'Response headers {headers}',
|
67
|
-
|
68
|
-
})
|
68
|
+
@logger.log(@log_level, 'Response headers {headers}',
|
69
|
+
{ headers: headers_to_log })
|
69
70
|
end
|
70
71
|
|
71
72
|
return unless @response_logging_config.log_body
|
72
73
|
|
73
|
-
@logger.log(@log_level, 'Response body {body}',
|
74
|
-
|
75
|
-
})
|
74
|
+
@logger.log(@log_level, 'Response body {body}',
|
75
|
+
{ body: response.raw_body })
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -16,10 +16,12 @@ module CoreLibrary
|
|
16
16
|
|
17
17
|
# Checks if OAuth token has expired.
|
18
18
|
# @param [int] token_expiry The expiring of a token.
|
19
|
+
# @param [int|Optional] clock_skew_time A buffer to the calculated expiry.
|
19
20
|
# @return [Boolean] true if token has expired, false otherwise.
|
20
|
-
def self.token_expired?(token_expiry)
|
21
|
+
def self.token_expired?(token_expiry, clock_skew_time = nil)
|
21
22
|
raise ArgumentError, 'Token expiry can not be nil.' if token_expiry.nil?
|
22
23
|
|
24
|
+
token_expiry -= clock_skew_time unless clock_skew_time.nil?
|
23
25
|
token_expiry < Time.now.utc.to_i
|
24
26
|
end
|
25
27
|
|
@@ -23,7 +23,7 @@ module CoreLibrary
|
|
23
23
|
headers.find { |key, _| key.downcase == CONTENT_LENGTH_HEADER }&.last || ''
|
24
24
|
end
|
25
25
|
|
26
|
-
def self.extract_headers_to_log(http_logging_config, headers)
|
26
|
+
def self.extract_headers_to_log(http_logging_config, mask_sensitive_headers, headers)
|
27
27
|
return headers if headers.nil?
|
28
28
|
|
29
29
|
filtered_headers = if http_logging_config.headers_to_include.any?
|
@@ -34,7 +34,8 @@ module CoreLibrary
|
|
34
34
|
headers
|
35
35
|
end
|
36
36
|
|
37
|
-
|
37
|
+
apply_masking_to_sensitive_headers(filtered_headers, mask_sensitive_headers,
|
38
|
+
http_logging_config.headers_to_unmask)
|
38
39
|
end
|
39
40
|
|
40
41
|
def self.include_headers(headers, headers_to_include)
|
@@ -60,14 +61,16 @@ module CoreLibrary
|
|
60
61
|
excluded_headers
|
61
62
|
end
|
62
63
|
|
63
|
-
def self.
|
64
|
-
return headers unless
|
64
|
+
def self.apply_masking_to_sensitive_headers(headers, mask_sensitive_headers, headers_to_unmask)
|
65
|
+
return headers unless mask_sensitive_headers
|
66
|
+
return headers if headers.nil?
|
65
67
|
|
68
|
+
masked_headers = {}
|
66
69
|
headers.each do |key, val|
|
67
|
-
|
70
|
+
masked_headers[key] = mask_if_sensitive_header(key, val, headers_to_unmask)
|
68
71
|
end
|
69
72
|
|
70
|
-
|
73
|
+
masked_headers
|
71
74
|
end
|
72
75
|
|
73
76
|
def self.mask_if_sensitive_header(name, value, headers_to_unmask)
|
@@ -76,7 +79,7 @@ module CoreLibrary
|
|
76
79
|
name_downcase = name.downcase
|
77
80
|
|
78
81
|
NON_SENSITIVE_HEADERS.include?(name_downcase) || headers_to_unmask.include?(name_downcase) ?
|
79
|
-
value :
|
82
|
+
value : REDACTED
|
80
83
|
end
|
81
84
|
end
|
82
85
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apimatic_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- APIMatic Ltd.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apimatic_core_interfaces
|