readme-metrics 2.3.0 → 2.4.0

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: 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