moesif_rack 1.4.16 → 1.4.17
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b73acd14bb1af6f2d4ee8225fdd39ee19c6d1d9cf937ad37a9b10a7278842272
|
4
|
+
data.tar.gz: c1e74c3f4afdbdbfe0cef5fc75dca534f8d289c0f0befdac9085b9f48d4575bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 186263e17ebe464783f65297d205c6fea8dcde346ecf979bc1c79c0fd2468e31f474ab278ca94ff2664f6ebd5b9b5a8bc991f00c7f82532ccf709091d6db543e
|
7
|
+
data.tar.gz: e7c29d009f3dc63464181025aa2679f45ee1b3972c72402934e43fa4fef0e778da300084d03b524f689c1b2dda81f3d16a351deb234c68d06cd01f21bd847111
|
@@ -3,14 +3,14 @@ require 'json'
|
|
3
3
|
require 'time'
|
4
4
|
require 'zlib'
|
5
5
|
require 'stringio'
|
6
|
-
require_relative './
|
6
|
+
require_relative './moesif_helpers.rb'
|
7
7
|
require_relative './regex_config_helper.rb'
|
8
8
|
|
9
9
|
class AppConfig
|
10
10
|
|
11
11
|
def initialize debug
|
12
12
|
@debug = debug
|
13
|
-
@
|
13
|
+
@moesif_helpers = MoesifHelpers.new(debug)
|
14
14
|
@regex_config_helper = RegexConfigHelper.new(debug)
|
15
15
|
end
|
16
16
|
|
@@ -18,17 +18,17 @@ class AppConfig
|
|
18
18
|
# Get Application Config
|
19
19
|
begin
|
20
20
|
config_api_response = api_controller.get_app_config()
|
21
|
-
@
|
22
|
-
@
|
21
|
+
@moesif_helpers.log_debug("new config downloaded")
|
22
|
+
@moesif_helpers.log_debug(config_api_response.to_s)
|
23
23
|
return config_api_response
|
24
24
|
rescue MoesifApi::APIException => e
|
25
25
|
if e.response_code.between?(401, 403)
|
26
|
-
@
|
26
|
+
@moesif_helpers.log_debug 'Unauthorized access getting application configuration. Please check your Appplication Id.'
|
27
27
|
end
|
28
|
-
@
|
29
|
-
@
|
28
|
+
@moesif_helpers.log_debug 'Error getting application configuration, with status code:'
|
29
|
+
@moesif_helpers.log_debug e.response_code
|
30
30
|
rescue => e
|
31
|
-
@
|
31
|
+
@moesif_helpers.log_debug e.to_s
|
32
32
|
end
|
33
33
|
rescue
|
34
34
|
end
|
@@ -38,20 +38,20 @@ class AppConfig
|
|
38
38
|
begin
|
39
39
|
# Rails return gzipped compressed response body, so decompressing it and getting JSON response body
|
40
40
|
response_body = decompress_gzip_body(config_api_response)
|
41
|
-
@
|
41
|
+
@moesif_helpers.log_debug(response_body.to_s)
|
42
42
|
|
43
43
|
# Check if response body is not nil
|
44
44
|
if !response_body.nil? then
|
45
45
|
# Return Etag, sample rate and last updated time
|
46
46
|
return response_body, config_api_response.headers[:x_moesif_config_etag], Time.now.utc
|
47
47
|
else
|
48
|
-
@
|
48
|
+
@moesif_helpers.log_debug 'Response body is nil, assuming default behavior'
|
49
49
|
# Response body is nil, so assuming default behavior
|
50
50
|
return nil, nil, Time.now.utc
|
51
51
|
end
|
52
52
|
rescue => exception
|
53
|
-
@
|
54
|
-
@
|
53
|
+
@moesif_helpers.log_debug 'Error while parsing the configuration object, assuming default behavior'
|
54
|
+
@moesif_helpers.log_debug exception.to_s
|
55
55
|
# Assuming default behavior
|
56
56
|
return nil, nil, Time.now.utc
|
57
57
|
end
|
@@ -62,8 +62,8 @@ class AppConfig
|
|
62
62
|
begin
|
63
63
|
# Check if response body is not nil
|
64
64
|
if !config_api_response.nil? then
|
65
|
-
@
|
66
|
-
@
|
65
|
+
@moesif_helpers.log_debug("Getting sample rate for user #{user_id} company #{company_id}")
|
66
|
+
@moesif_helpers.log_debug(config_api_response.to_s)
|
67
67
|
|
68
68
|
# Get Regex Sampling rate
|
69
69
|
regex_config = config_api_response.fetch('regex_config', nil)
|
@@ -95,12 +95,12 @@ class AppConfig
|
|
95
95
|
# Return sample rate
|
96
96
|
return config_api_response.fetch('sample_rate', 100)
|
97
97
|
else
|
98
|
-
@
|
98
|
+
@moesif_helpers.log_debug 'Assuming default behavior as response body is nil - '
|
99
99
|
return 100
|
100
100
|
end
|
101
101
|
rescue => exception
|
102
|
-
@
|
103
|
-
@
|
102
|
+
@moesif_helpers.log_debug 'Error while geting sampling percentage, assuming default behavior'
|
103
|
+
@moesif_helpers.log_debug exception.to_s
|
104
104
|
return 100
|
105
105
|
end
|
106
106
|
end
|
@@ -120,12 +120,12 @@ class AppConfig
|
|
120
120
|
# Return the parsed body
|
121
121
|
return JSON.parse( uncompressed_string )
|
122
122
|
else
|
123
|
-
@
|
123
|
+
@moesif_helpers.log_debug 'Content Encoding is of type other than gzip, returning nil'
|
124
124
|
return nil
|
125
125
|
end
|
126
126
|
rescue => exception
|
127
|
-
@
|
128
|
-
@
|
127
|
+
@moesif_helpers.log_debug 'Error while decompressing the response body'
|
128
|
+
@moesif_helpers.log_debug exception.to_s
|
129
129
|
return nil
|
130
130
|
end
|
131
131
|
end
|
@@ -8,7 +8,7 @@ require_relative './client_ip.rb'
|
|
8
8
|
require_relative './app_config.rb'
|
9
9
|
require_relative './update_user.rb'
|
10
10
|
require_relative './update_company.rb'
|
11
|
-
require_relative './
|
11
|
+
require_relative './moesif_helpers.rb'
|
12
12
|
|
13
13
|
module MoesifRack
|
14
14
|
|
@@ -30,7 +30,7 @@ module MoesifRack
|
|
30
30
|
@skip = options['skip']
|
31
31
|
@debug = options['debug']
|
32
32
|
@app_config = AppConfig.new(@debug)
|
33
|
-
@
|
33
|
+
@moesif_helpers = MoesifHelpers.new(@debug)
|
34
34
|
@config = @app_config.get_config(@api_controller)
|
35
35
|
@config_etag = nil
|
36
36
|
@last_config_download_time = Time.now.utc
|
@@ -50,13 +50,13 @@ module MoesifRack
|
|
50
50
|
@config, @config_etag, @last_config_download_time = @app_config.parse_configuration(new_config)
|
51
51
|
end
|
52
52
|
rescue => exception
|
53
|
-
@
|
54
|
-
@
|
53
|
+
@moesif_helpers.log_debug 'Error while parsing application configuration on initialization'
|
54
|
+
@moesif_helpers.log_debug exception.to_s
|
55
55
|
end
|
56
56
|
@capture_outoing_requests = options['capture_outoing_requests']
|
57
57
|
@capture_outgoing_requests = options['capture_outgoing_requests']
|
58
58
|
if @capture_outoing_requests || @capture_outgoing_requests
|
59
|
-
@
|
59
|
+
@moesif_helpers.log_debug 'Start Capturing outgoing requests'
|
60
60
|
require_relative '../../moesif_capture_outgoing/httplog.rb'
|
61
61
|
MoesifCaptureOutgoing.start_capture_outgoing(options)
|
62
62
|
end
|
@@ -94,7 +94,7 @@ module MoesifRack
|
|
94
94
|
return Base64.encode64(body), 'base64'
|
95
95
|
end
|
96
96
|
|
97
|
-
def @
|
97
|
+
def @moesif_helpers.log_debug(message)
|
98
98
|
if @debug
|
99
99
|
puts("#{Time.now.to_s} [Moesif Middleware] PID #{Process.pid} TID #{Thread.current.object_id} #{message}")
|
100
100
|
end
|
@@ -130,26 +130,26 @@ module MoesifRack
|
|
130
130
|
until batch_events.size == @batch_size || @events_queue.empty? do
|
131
131
|
batch_events << @events_queue.pop
|
132
132
|
end
|
133
|
-
@
|
133
|
+
@moesif_helpers.log_debug("Sending #{batch_events.size.to_s} events to Moesif")
|
134
134
|
event_api_response = @api_controller.create_events_batch(batch_events)
|
135
135
|
@event_response_config_etag = event_api_response[:x_moesif_config_etag]
|
136
|
-
@
|
137
|
-
@
|
136
|
+
@moesif_helpers.log_debug(event_api_response.to_s)
|
137
|
+
@moesif_helpers.log_debug("Events successfully sent to Moesif")
|
138
138
|
end
|
139
139
|
|
140
140
|
if @events_queue.empty?
|
141
|
-
@
|
141
|
+
@moesif_helpers.log_debug("No events to read from the queue")
|
142
142
|
end
|
143
143
|
|
144
144
|
sleep @batch_max_time
|
145
145
|
rescue MoesifApi::APIException => e
|
146
146
|
if e.response_code.between?(401, 403)
|
147
147
|
puts "Unathorized accesss sending event to Moesif. Please verify your Application Id."
|
148
|
-
@
|
148
|
+
@moesif_helpers.log_debug(e.to_s)
|
149
149
|
end
|
150
|
-
@
|
150
|
+
@moesif_helpers.log_debug("Error sending event to Moesif, with status code #{e.response_code.to_s}")
|
151
151
|
rescue => e
|
152
|
-
@
|
152
|
+
@moesif_helpers.log_debug(e.to_s)
|
153
153
|
end
|
154
154
|
end
|
155
155
|
end
|
@@ -158,7 +158,7 @@ module MoesifRack
|
|
158
158
|
def call env
|
159
159
|
start_time = Time.now.utc.iso8601(3)
|
160
160
|
|
161
|
-
@
|
161
|
+
@moesif_helpers.log_debug('Calling Moesif middleware')
|
162
162
|
|
163
163
|
status, headers, body = @app.call env
|
164
164
|
end_time = Time.now.utc.iso8601(3)
|
@@ -256,41 +256,41 @@ module MoesifRack
|
|
256
256
|
event_model.direction = "Incoming"
|
257
257
|
|
258
258
|
if @identify_user
|
259
|
-
@
|
259
|
+
@moesif_helpers.log_debug "calling identify user proc"
|
260
260
|
event_model.user_id = @identify_user.call(env, headers, body)
|
261
261
|
end
|
262
262
|
|
263
263
|
if @identify_company
|
264
|
-
@
|
264
|
+
@moesif_helpers.log_debug "calling identify company proc"
|
265
265
|
event_model.company_id = @identify_company.call(env, headers, body)
|
266
266
|
end
|
267
267
|
|
268
268
|
if @get_metadata
|
269
|
-
@
|
269
|
+
@moesif_helpers.log_debug "calling get_metadata proc"
|
270
270
|
event_model.metadata = @get_metadata.call(env, headers, body)
|
271
271
|
end
|
272
272
|
|
273
273
|
if @identify_session
|
274
|
-
@
|
274
|
+
@moesif_helpers.log_debug "calling identify session proc"
|
275
275
|
event_model.session_token = @identify_session.call(env, headers, body)
|
276
276
|
end
|
277
277
|
if @mask_data
|
278
|
-
@
|
278
|
+
@moesif_helpers.log_debug "calling mask_data proc"
|
279
279
|
event_model = @mask_data.call(event_model)
|
280
280
|
end
|
281
281
|
|
282
|
-
@
|
283
|
-
@
|
282
|
+
@moesif_helpers.log_debug "sending data to moesif"
|
283
|
+
@moesif_helpers.log_debug event_model.to_json
|
284
284
|
# Perform the API call through the SDK function
|
285
285
|
begin
|
286
286
|
random_percentage = Random.rand(0.00..100.00)
|
287
287
|
|
288
288
|
begin
|
289
289
|
sampling_percentage = @app_config.get_sampling_percentage(event_model, @config, event_model.user_id, event_model.company_id)
|
290
|
-
@
|
290
|
+
@moesif_helpers.log_debug "Using sample rate #{sampling_percentage}"
|
291
291
|
rescue => exception
|
292
|
-
@
|
293
|
-
@
|
292
|
+
@moesif_helpers.log_debug 'Error while getting sampling percentage, assuming default behavior'
|
293
|
+
@moesif_helpers.log_debug exception.to_s
|
294
294
|
sampling_percentage = 100
|
295
295
|
end
|
296
296
|
|
@@ -298,7 +298,7 @@ module MoesifRack
|
|
298
298
|
event_model.weight = @app_config.calculate_weight(sampling_percentage)
|
299
299
|
# Add Event to the queue
|
300
300
|
@events_queue << event_model
|
301
|
-
@
|
301
|
+
@moesif_helpers.log_debug("Event added to the queue ")
|
302
302
|
if Time.now.utc > (@last_worker_run + 60)
|
303
303
|
start_worker()
|
304
304
|
end
|
@@ -311,16 +311,16 @@ module MoesifRack
|
|
311
311
|
end
|
312
312
|
|
313
313
|
rescue => exception
|
314
|
-
@
|
315
|
-
@
|
314
|
+
@moesif_helpers.log_debug 'Error while updating the application configuration'
|
315
|
+
@moesif_helpers.log_debug exception.to_s
|
316
316
|
end
|
317
317
|
end
|
318
318
|
else
|
319
|
-
@
|
319
|
+
@moesif_helpers.log_debug("Skipped Event due to sampling percentage: " + sampling_percentage.to_s + " and random percentage: " + random_percentage.to_s)
|
320
320
|
end
|
321
321
|
rescue => exception
|
322
|
-
@
|
323
|
-
@
|
322
|
+
@moesif_helpers.log_debug "Error adding event to the queue "
|
323
|
+
@moesif_helpers.log_debug exception.to_s
|
324
324
|
end
|
325
325
|
|
326
326
|
end
|
@@ -337,12 +337,12 @@ module MoesifRack
|
|
337
337
|
begin
|
338
338
|
process_send.call
|
339
339
|
rescue => exception
|
340
|
-
@
|
341
|
-
@
|
342
|
-
@
|
340
|
+
@moesif_helpers.log_debug 'Error while logging event - '
|
341
|
+
@moesif_helpers.log_debug exception.to_s
|
342
|
+
@moesif_helpers.log_debug exception.backtrace
|
343
343
|
end
|
344
344
|
else
|
345
|
-
@
|
345
|
+
@moesif_helpers.log_debug "Skipped Event using should_skip configuration option."
|
346
346
|
end
|
347
347
|
|
348
348
|
[status, headers, body]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moesif_rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Moesif, Inc
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-08-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|
@@ -56,7 +56,7 @@ files:
|
|
56
56
|
- lib/moesif_rack.rb
|
57
57
|
- lib/moesif_rack/app_config.rb
|
58
58
|
- lib/moesif_rack/client_ip.rb
|
59
|
-
- lib/moesif_rack/
|
59
|
+
- lib/moesif_rack/moesif_helpers.rb
|
60
60
|
- lib/moesif_rack/moesif_middleware.rb
|
61
61
|
- lib/moesif_rack/regex_config_helper.rb
|
62
62
|
- lib/moesif_rack/update_company.rb
|