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: d6999e5f75a815faf7120e5f551b3ea2661e6d146a84e087426f64b27863d2fc
4
- data.tar.gz: f9c63258f67b4798393569aa35ca04c54bd70b0109f32d2f3bd756b6aed7838d
3
+ metadata.gz: 3c4d7987cd14dba534fc21ecff7af13a00e80d0dc83c87bcdf3ac88f38e74ae4
4
+ data.tar.gz: 7c9ad8e1dc5944172bb0fbd8e34d55555f6e9e9292de818000f4d2de9c5ae6b1
5
5
  SHA512:
6
- metadata.gz: c86684bed17cbe67d0750a78bda0bc03b2385414a8ebba30088fa7990d45ae2471426cb8c0457ead6d3d1dbcbb5a11003e435fc2105917e234b6e13cd2a292b2
7
- data.tar.gz: 5c539fe7981f7aa5196ad81e9f0e76ffaa3d3729d536f824ab3b5c2170e5cce61300f3f6018db93785121487b18db580d0eed60c67443ed4c2b72c8445a89899
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
- headers: headers_to_log
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
- body: request.parameters
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
- headers: headers_to_log
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
- body: response.raw_body
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
 
@@ -4,4 +4,5 @@ module CoreLibrary
4
4
  METHOD = 'method'.freeze
5
5
  URL = 'url'.freeze
6
6
  STATUS_CODE = 'status_code'.freeze
7
+ REDACTED = '**Redacted**'.freeze
7
8
  end
@@ -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
- mask_sensitive_headers(filtered_headers, http_logging_config.headers_to_unmask)
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.mask_sensitive_headers(headers, headers_to_unmask)
64
- return headers unless @mask_sensitive_headers || !headers.nil?
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
- headers[key] = mask_if_sensitive_header(key, val, headers_to_unmask)
70
+ masked_headers[key] = mask_if_sensitive_header(key, val, headers_to_unmask)
68
71
  end
69
72
 
70
- headers
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 : '**Redacted**'
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.7
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-05-13 00:00:00.000000000 Z
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