apimatic_core 0.3.7 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|