active_record_api-request 0.3.13 → 0.3.17

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: 263d60c6f20dedeb4ddf11c57f477db856bbbef2d6d4dc3b059c52d7bcae5234
4
- data.tar.gz: aaabc4345b53434748f68dd39e3e1049d1425e2157abbd06c385cacb07e107e9
3
+ metadata.gz: 1d6e188005d1705103e43caaaeb1b64ffe616927b61a2565a97d6409db6c90f9
4
+ data.tar.gz: e95f2b46e96a2ebb02d2c4d107d6f1606c77904a4fba4a71ffcb20bd3e26a0c4
5
5
  SHA512:
6
- metadata.gz: 7da94f911d65e00e5df2efa8c242812c6279ee92aa853060adbb944d47a37ac09012a6520aff91ea1640876863927b046abad59b3b98c29ecb855bd54defc629
7
- data.tar.gz: ab2306aec21f5841c0e88e78e9787ca4a243cb2710f9d3eb8163738024153b93c57026e8736e9a019b406d26d3ad1bf48cae5d7f57e536f1a70067ec04494384
6
+ metadata.gz: 06a9ce7ac4ab27d5d20f28efccc37d832849ee0d9cf7299ee377fa47e364d7ecd8563b03e3ce45e9693a5dc26f4913d663e17c0f32d2bd021d725fb39fbe807b
7
+ data.tar.gz: 0d5e6c6ed78ffbf16d740baa2f770175115057e98bf9e9e7eeb46e3df161aeba6f0e9a1eb4b237494ce7c7c1ccaf18d5b016e30c73167cc0a3ef78ededb22be3
@@ -5,7 +5,7 @@ require 'faraday-http-cache'
5
5
  module ActiveRecordApi
6
6
  module Request
7
7
  class Connection < Credentials
8
- attr_accessor :debug, :path, :cache_store
8
+ attr_accessor :debug, :path, :cache_store, :timeout
9
9
  attr_writer :full_url
10
10
 
11
11
  def authenticated_connection
@@ -16,7 +16,7 @@ module ActiveRecordApi
16
16
  def connection
17
17
  @connection ||= Faraday.new do |builder|
18
18
  builder.options[:open_timeout] = 2
19
- builder.options[:timeout] = 5
19
+ builder.options[:timeout] = timeout || 5
20
20
  builder.request :json
21
21
  builder.request :url_encoded
22
22
  builder.request :retry, max: 5, interval: 0.05, interval_randomness: 0.5, backoff_factor: 2, exceptions: [ActiveRecordApi::Request::AuthError]
@@ -3,7 +3,7 @@ module ActiveRecordApi
3
3
  module Request
4
4
  class TokenCache
5
5
  include ActiveAttr::Model
6
- attr_accessor :debug
6
+ attr_accessor :debug
7
7
 
8
8
  def flush
9
9
  return unless defined? AUTH_REDIS_POOL
@@ -25,7 +25,7 @@ module ActiveRecordApi
25
25
  unless defined? AUTH_REDIS_POOL
26
26
  debug_log 'no auth redis pool. getting new token'
27
27
  token = token_proc.call
28
- raise "no token returned! #{token}" if @token.nil?
28
+ raise "no token returned! #{token}" if token.nil?
29
29
  return token
30
30
  end
31
31
  AUTH_REDIS_POOL.with do |client|
@@ -33,14 +33,14 @@ module ActiveRecordApi
33
33
  @token = nil
34
34
  @retry = 0
35
35
  while @token.nil? && @retry < 5
36
- @retry += 1
37
36
  @token = @redis_client.get('auth_token')
38
37
  debug_log "retry ##{@retry}"
39
38
  debug_log "found token: #{@token}"
39
+ @retry += 1
40
40
  if @token.nil? || session_missing_for?(@token)
41
41
  if acquire_lock
42
42
  begin
43
- debug_log "acquired lock and fetching token for cache"
43
+ debug_log 'acquired lock and fetching token for cache'
44
44
  @token = token_proc.call
45
45
  raise "no token returned! #{@token}" if @token.nil?
46
46
  @redis_client.set 'auth_token', @token
@@ -70,7 +70,7 @@ module ActiveRecordApi
70
70
  return nil
71
71
  end
72
72
 
73
- @redis_session ||= Redis.new({url: "redis://#{ENV['REDIS_SESSION_HOST']}", db: ENV['REDIS_SESSION']})
73
+ @redis_session ||= Redis.new({ url: "redis://#{ENV['REDIS_SESSION_HOST']}", db: ENV['REDIS_SESSION'] })
74
74
  end
75
75
 
76
76
  def session_missing_for?(token)
@@ -86,7 +86,7 @@ module ActiveRecordApi
86
86
  end
87
87
 
88
88
  def acquire_lock
89
- @redis_client.set 'auth_token_lock', unique_key, nx: true, ex: 60
89
+ @redis_client.set 'auth_token_lock', unique_key, nx: true, ex: 8
90
90
  current_lock_value = @redis_client.get 'auth_token_lock'
91
91
  debug_log "#{current_lock_value} == #{unique_key}"
92
92
  current_lock_value == unique_key
@@ -102,4 +102,5 @@ module ActiveRecordApi
102
102
  end
103
103
  end
104
104
  end
105
+
105
106
  #:nocov:#
@@ -1,5 +1,5 @@
1
1
  module ActiveRecordApi
2
2
  module Request
3
- VERSION = '0.3.13'.freeze
3
+ VERSION = '0.3.17'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_api-request
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.13
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Full Measure Education
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-21 00:00:00.000000000 Z
11
+ date: 2022-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_attr