readme-metrics 2.3.0 → 2.4.1

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: 6f8e683b5b79b9d14d30fd4189b8b2ae411ed40416894ff4ed244cf8da8d3829
4
+ data.tar.gz: f8f99c8409fb87f5ce9937283803317b9ff8deee796190337c3a94d90fead921
5
5
  SHA512:
6
- metadata.gz: 204c6c2d98d6b7300f4ec160ab7c224acba62e4dafae77eae6d135adf84f54443ec7e83ae1d437185e621710553b720885335784a4cd85e60bb6807159b9805c
7
- data.tar.gz: 0476a102da1dc9659cd965897df2ad2dd40baf07482c97b4519b1680e792639eebd9ed98864287354318702ddd93f85356544be9a69b1cc4ad6f0fbdfa9073af
6
+ metadata.gz: b736fab2ab12f5c7b818afd0ac6f0563f127953244c4f1a61565944213a218e11b159b7b445de05b8eb9575f09b56cdf4d24e5ff087df301ec71fcef23963ee1
7
+ data.tar.gz: fd274cef8ce31226c442e3f0775f12fe7e708a0c441ea01fa87cc4f46f590e1bc7fbad2b969e6c16fdba1fca2e946d2f5b7e8e90acf600bee85c3505bda933c3
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.1)
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.1'
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
@@ -25,6 +27,7 @@ module Readme
25
27
  def to_json(*_args)
26
28
  {
27
29
  _id: validate_uuid(@log_id) ? @log_id : @uuid,
30
+ _version: 3,
28
31
  group: @user_info,
29
32
  clientIPAddress: @ip_address,
30
33
  development: @development,
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.1
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-29 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