pier_logging 0.1.5 → 0.1.10

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: eff84f20b75432ad8b9677f443507f89618bb16cb10fb540cea1f15e9ef38f44
4
- data.tar.gz: 3ccee8b70edaf743e2a4696eb1b405c505b0d6d6d2aaffd565d761e318feca21
3
+ metadata.gz: e873082a51ac0e6d7727295242b351f48c36359f229cd86d88a2cf2ff30dc261
4
+ data.tar.gz: 18ea7a72b907d6c83c62feddae585c5c0d37488540be4f437b8c8ae7d9427156
5
5
  SHA512:
6
- metadata.gz: 16da7e85dbb12163a9bc5c9d660258ef51b0d968e55be28c04159cad2481ed62f3349e902a3dd9cc74417ec15c4d8bb0d3decab17cd717eecdb39a404d821b48
7
- data.tar.gz: 88f4e611ab39c17fdb669bae02cffd16a6466e8c11d1403a9a60c84aceb834f707d212e72f908ca532fd1802c1522e1c497229082cf0a7b55235662287258e3a
6
+ metadata.gz: 440474356d2d9bf8f90e2df6474f147706892bb0778dd1d63ba7d6c5d550287f62da83d3f6dd384e073869951adcc117092a55561b0a4938590251e2802bd619
7
+ data.tar.gz: d80ca3622d92b96503764e77e01d5c02f1ccb32413781b09d9ca46c7751d74d7b25fbb6d4af6360be51319377262843f4ce8ff70a8de6058237d7e70663adf54
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pier_logging (0.1.2)
4
+ pier_logging (0.1.7)
5
5
  awesome_print
6
+ facets
6
7
  ougai
7
8
  rails
8
9
 
@@ -70,6 +71,7 @@ GEM
70
71
  concurrent-ruby (1.1.6)
71
72
  crass (1.0.6)
72
73
  erubi (1.9.0)
74
+ facets (3.1.0)
73
75
  globalid (0.4.2)
74
76
  activesupport (>= 4.2.0)
75
77
  i18n (1.8.3)
@@ -1,11 +1,14 @@
1
1
  require "rails"
2
2
  require "ougai"
3
+ require "awesome_print"
4
+ require "facets/hash/traverse"
3
5
  require "pier_logging/version"
4
6
  require "pier_logging/logger"
5
7
  require "pier_logging/request_logger"
6
8
  require "pier_logging/formatter/base"
7
9
  require "pier_logging/formatter/json"
8
10
  require "pier_logging/formatter/readable"
11
+ require "pier_logging/helpers/headers"
9
12
 
10
13
  module PierLogging
11
14
  def self.logger_configuration
@@ -0,0 +1,20 @@
1
+ module PierLogging
2
+ module Helpers
3
+ class Headers
4
+ def self.has_basic_credentials?(headers)
5
+ auth_header = headers['AUTHENTICATION'].to_s
6
+ return false if auth_header.blank?
7
+ # Optimization: https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code
8
+ return false if auth_header.split(' ', 2)[0].casecmp('basic') == 0
9
+ return false if auth_header.split(' ', 2)[1].blank?
10
+ return true
11
+ end
12
+
13
+ def self.get_basic_credentials_user(headers)
14
+ auth_headers = headers['AUTHENTICATION'].to_s
15
+ credentials = auth_headers.split(' ', 2)[1]
16
+ ::Base64.decode64(credentials).split(':', 2)[0]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -67,7 +67,7 @@ module PierLogging
67
67
  # We should never fall in this part as the only errors that could result in this are errors
68
68
  # in our logger (inside this same method)
69
69
  @logger.error(error.message)
70
- end
70
+ end
71
71
 
72
72
  private
73
73
  def get_request_headers_from_env(env)
@@ -87,16 +87,15 @@ module PierLogging
87
87
  end
88
88
 
89
89
  def parse_body(body)
90
- if body.is_a? String # when string
91
- Oj.load(body, allow_blank: true)
92
- elsif body.is_a? Array # Grape body
93
- Oj.load(body.last, allow_blank: true)
94
- elsif body.is_a? ActionDispatch::Response::RackBody # Rails body
95
- Oj.load(body.body, allow_blank: true)
96
- else
97
- body
98
- end
90
+ body_object = get_body_object(body)
91
+ Oj.load(body_object, allow_blank: true)
99
92
  rescue
93
+ body_object || body
94
+ end
95
+
96
+ def get_body_object(body)
97
+ return body.last if body.is_a? Array # Grape body
98
+ return body.body if body.is_a? ActionDispatch::Response::RackBody # Rails body
100
99
  body
101
100
  end
102
101
 
@@ -125,20 +124,5 @@ module PierLogging
125
124
  rescue
126
125
  500
127
126
  end
128
-
129
- def has_basic_credentials?(headers)
130
- auth_header = headers['AUTHENTICATION'].to_s
131
- return false if auth_header.blank?
132
- # Optimization: https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code
133
- return false if auth_header.split(' ', 2)[0].casecmp('basic') == 0
134
- return false if auth_header.split(' ', 2)[1].blank?
135
- return true
136
- end
137
-
138
- def get_basic_credentials_user(headers)
139
- auth_headers = headers['AUTHENTICATION'].to_s
140
- credentials = auth_headers.split(' ', 2)[1]
141
- ::Base64.decode64(credentials).split(':', 2)[0]
142
- end
143
127
  end
144
128
  end
@@ -1,3 +1,3 @@
1
1
  module PierLogging
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.10"
3
3
  end
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_dependency "ougai"
27
27
  spec.add_dependency "awesome_print"
28
28
  spec.add_dependency "rails"
29
+ spec.add_dependency "facets"
29
30
 
30
31
  spec.add_development_dependency "bundler", ">= 2.1.4"
31
32
  spec.add_development_dependency "rake", ">= 12.3.3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pier_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mauricio Banduk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-03 00:00:00.000000000 Z
11
+ date: 2020-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ougai
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: facets
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -135,6 +149,7 @@ files:
135
149
  - lib/pier_logging/formatter/base.rb
136
150
  - lib/pier_logging/formatter/json.rb
137
151
  - lib/pier_logging/formatter/readable.rb
152
+ - lib/pier_logging/helpers/headers.rb
138
153
  - lib/pier_logging/logger.rb
139
154
  - lib/pier_logging/request_logger.rb
140
155
  - lib/pier_logging/version.rb