readme-metrics 2.3.0 → 2.4.0

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: e9d2cf2f3a6e81a4ee2658ac887b8bb7ec3b9fc8cdbef76c627a7ab702f529ec
4
- data.tar.gz: 83bfccb057682371e7c26a3b37133bf48f44aa77a7fc4eceeec9ab6f4a937210
3
+ metadata.gz: 1a539e9a1512385c01ba8b037b3325e89a762b2965f5b2b5aa6394989b2774d7
4
+ data.tar.gz: 3c95661d00dc2392ec8f805371ab8ed102335d697bfed20de6c11f14826e0c2e
5
5
  SHA512:
6
- metadata.gz: 204c6c2d98d6b7300f4ec160ab7c224acba62e4dafae77eae6d135adf84f54443ec7e83ae1d437185e621710553b720885335784a4cd85e60bb6807159b9805c
7
- data.tar.gz: 0476a102da1dc9659cd965897df2ad2dd40baf07482c97b4519b1680e792639eebd9ed98864287354318702ddd93f85356544be9a69b1cc4ad6f0fbdfa9073af
6
+ metadata.gz: ca188a7f894ee7718907c902a1ec724b4aff21afcbc2007a3ec14cda78b8abb1ea2f846cda8ef8c882ec984de304a2f9bd7c4e530f8a7034682f365ee0271e6a
7
+ data.tar.gz: c90dd5e1b59db664af5f26b4f13c6e544eabe5a766ed2d8e7170e0dfd93849846efa5ff66251535ed2c957e772fe69936c61e3903159b9ed23267a9b322ec933
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- readme-metrics (2.2.0)
4
+ readme-metrics (2.4.0)
5
5
  httparty (~> 0.18)
6
6
  rack (>= 2.2, < 4)
7
7
 
@@ -21,7 +21,7 @@ GEM
21
21
  json (2.6.2)
22
22
  json-schema (2.8.1)
23
23
  addressable (>= 2.4)
24
- mini_mime (1.1.2)
24
+ mini_mime (1.1.5)
25
25
  multi_xml (0.6.0)
26
26
  parallel (1.22.1)
27
27
  parser (3.1.2.1)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- readme-metrics (2.2.0)
4
+ readme-metrics (2.3.0)
5
5
  httparty (~> 0.18)
6
6
  rack (>= 2.2, < 4)
7
7
 
@@ -99,7 +99,7 @@ GEM
99
99
  marcel (1.0.2)
100
100
  method_source (1.0.0)
101
101
  mini_mime (1.1.2)
102
- mini_portile2 (2.8.0)
102
+ mini_portile2 (2.8.1)
103
103
  minitest (5.16.3)
104
104
  multi_xml (0.6.0)
105
105
  net-imap (0.2.3)
@@ -117,13 +117,15 @@ GEM
117
117
  net-protocol
118
118
  timeout
119
119
  nio4r (2.5.8)
120
- nokogiri (1.13.9)
120
+ nokogiri (1.14.3)
121
121
  mini_portile2 (~> 2.8.0)
122
122
  racc (~> 1.4)
123
+ nokogiri (1.14.3-arm64-darwin)
124
+ racc (~> 1.4)
123
125
  puma (5.6.5)
124
126
  nio4r (~> 2.0)
125
- racc (1.6.0)
126
- rack (2.2.4)
127
+ racc (1.6.2)
128
+ rack (2.2.7)
127
129
  rack-test (2.0.2)
128
130
  rack (>= 1.3)
129
131
  rails (7.0.3.1)
@@ -1,3 +1,4 @@
1
+ require 'readme/mask'
1
2
  require 'rack'
2
3
  require 'rack/request'
3
4
  require_relative 'content_type_helper'
@@ -25,7 +26,10 @@ module Readme
25
26
  HTTP_NON_HEADERS.freeze
26
27
 
27
28
  def initialize(env)
29
+ # Sanitize the auth header, if it exists
30
+ env['HTTP_AUTHORIZATION'] = Readme::Mask.mask(env['HTTP_AUTHORIZATION']) if env.key?('HTTP_AUTHORIZATION')
28
31
  @request = Rack::Request.new(env)
32
+
29
33
  return unless IS_RACK_V3
30
34
 
31
35
  @input = Rack::RewindableInput.new(@request.body)
@@ -0,0 +1,11 @@
1
+ require 'digest'
2
+
3
+ module Readme
4
+ class Mask
5
+ def self.mask(data)
6
+ digest = Digest::SHA2.new(512).base64digest(data)
7
+ opts = data.length >= 4 ? data[-4, 4] : data
8
+ "sha512-#{digest}?#{opts}"
9
+ end
10
+ end
11
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Readme
4
4
  class Metrics
5
- VERSION = '2.3.0'
5
+ VERSION = '2.4.0'
6
6
  end
7
7
  end
@@ -1,3 +1,4 @@
1
+ require 'readme/mask'
1
2
  require 'socket'
2
3
  require 'securerandom'
3
4
 
@@ -15,6 +16,7 @@ module Readme
15
16
  @har = har
16
17
  @user_info = info.slice(:id, :label, :email)
17
18
  @user_info[:id] = info[:api_key] unless info[:api_key].nil? # swap api_key for id if api_key is present
19
+ @user_info[:id] = Readme::Mask.mask(@user_info[:id])
18
20
  @log_id = info[:log_id]
19
21
  @ignore = info[:ignore]
20
22
  @ip_address = ip_address
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: readme-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ReadMe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-06 00:00:00.000000000 Z
11
+ date: 2024-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -102,6 +102,7 @@ files:
102
102
  - lib/readme/har/serializer.rb
103
103
  - lib/readme/http_request.rb
104
104
  - lib/readme/http_response.rb
105
+ - lib/readme/mask.rb
105
106
  - lib/readme/metrics.rb
106
107
  - lib/readme/metrics/version.rb
107
108
  - lib/readme/payload.rb
@@ -130,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
131
  - !ruby/object:Gem::Version
131
132
  version: '0'
132
133
  requirements: []
133
- rubygems_version: 3.4.6
134
+ rubygems_version: 3.4.21
134
135
  signing_key:
135
136
  specification_version: 4
136
137
  summary: SDK for Readme's metrics API