queueit_knownuserv3 3.2.3 → 3.3.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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTZmYWVkMDlhZmY4NzIwYzBiYjkyMmY0Njg4YTlmYzMyYzczNzI4OQ==
4
+ MTU3N2I1ODBiZjE3ZWRkODk2YjJhYzE5NzgzMTBkOTY5NzYwNzQ5OA==
5
5
  data.tar.gz: !binary |-
6
- NDE4OTVjYzEyZWJmOGIwMzkwMTFiYWU2Yzg5ZjRiOGMxNGE0ZmMwOA==
6
+ Zjg2ZDIwZmQxYjRlYmFmN2Y1ODZjOGE2N2RjYWY5MGFhNTc5Y2U1Yg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWMzOGU1YTU2NDJjYTQwODJkMzdlNjBjNTU2Y2U2MTA3NWRkNmJmZTFhOGYy
10
- MWIzYjY4Y2Q0ZTE1OTBjOTFkODM0NGJiMzIzZDRjNDc2ZTc3MDk2ODIwZmVi
11
- YjJkN2QwZWIwODg5NzE0MDg5YmE5MDFlZTZhZWY1NWY3M2FkYTM=
9
+ YzdkZWRhYjhhYjkyOGMzMDg0MTlmNGUxZDYzOGM4ZWY0MTU5ZGQ3M2Q3OTdj
10
+ YjZlYjIxNTgxMzg0MzE0MzI3MDExOTQ0NzNlNjhhYTFlMDUxZWE0YmJkNzUz
11
+ ZTVhNzc0NDE1MmRiOTdkMjNkZTVjN2ZmN2ZhYTg5YmVjNWVmOTg=
12
12
  data.tar.gz: !binary |-
13
- NDQ1MjI5YmZiMDEwNGU3MTFkNWUxYjhhYTIyNjBhZmE5MGRmMmExODAwNWYw
14
- NGZiMzM4NzYzN2YyYmEyYjc1YzAwZTc2OTNkZDdiYjg4Njc2YzlkNWI2OGE4
15
- MjUwMWUyOTE2NGY2NjYyNWQxMzg1YTA0YjM5OTlmZTY0MDcxMWI=
13
+ NjVkZWFiMTIwOGI2YTBmM2RiYmJhMmIwYjllMmNhMWRjNTQwY2UxMzI3M2M0
14
+ MjhkNzZmYjNlMDI5MjBjODAzZDkyZWI5YjBhZGM4NWQ2MjYyNTY3YTBiNmYy
15
+ YzBjNzM3ZjIzYzEwMDgwODc0ZWI1ZjgwN2ZlNjY5MDMwYThjMzk=
@@ -2,7 +2,7 @@ require 'uri'
2
2
 
3
3
  module QueueIt
4
4
  class IntegrationEvaluator
5
- def getMatchedIntegrationConfig(customerIntegration, currentPageUrl, cookieList, userAgent)
5
+ def getMatchedIntegrationConfig(customerIntegration, currentPageUrl, request)
6
6
  if (!customerIntegration.kind_of?(Hash) || !customerIntegration.key?("Integrations") ||
7
7
  !customerIntegration["Integrations"].kind_of?(Array))
8
8
  return nil;
@@ -14,7 +14,7 @@ module QueueIt
14
14
  if(!trigger.kind_of?(Hash))
15
15
  return false
16
16
  end
17
- if(evaluateTrigger(trigger, currentPageUrl, cookieList, userAgent))
17
+ if(evaluateTrigger(trigger, currentPageUrl, request))
18
18
  return integrationConfig
19
19
  end
20
20
  end
@@ -23,7 +23,7 @@ module QueueIt
23
23
  return nil
24
24
  end
25
25
 
26
- def evaluateTrigger(trigger, currentPageUrl, cookieList, userAgent)
26
+ def evaluateTrigger(trigger, currentPageUrl, request)
27
27
  if (!trigger.key?("LogicalOperator") ||
28
28
  !trigger.key?("TriggerParts") ||
29
29
  !trigger["TriggerParts"].kind_of?(Array))
@@ -35,7 +35,7 @@ module QueueIt
35
35
  if(!triggerPart.kind_of?(Hash))
36
36
  return false
37
37
  end
38
- if(evaluateTriggerPart(triggerPart, currentPageUrl, cookieList, userAgent))
38
+ if(evaluateTriggerPart(triggerPart, currentPageUrl, request))
39
39
  return true
40
40
  end
41
41
  end
@@ -45,7 +45,7 @@ module QueueIt
45
45
  if(!triggerPart.kind_of?(Hash))
46
46
  return false
47
47
  end
48
- if(!evaluateTriggerPart(triggerPart, currentPageUrl, cookieList, userAgent))
48
+ if(!evaluateTriggerPart(triggerPart, currentPageUrl, request))
49
49
  return false
50
50
  end
51
51
  end
@@ -53,7 +53,7 @@ module QueueIt
53
53
  end
54
54
  end
55
55
 
56
- def evaluateTriggerPart(triggerPart, currentPageUrl, cookieList, userAgent)
56
+ def evaluateTriggerPart(triggerPart, currentPageUrl, request)
57
57
  if (!triggerPart.key?("ValidatorType"))
58
58
  return false
59
59
  end
@@ -62,9 +62,11 @@ module QueueIt
62
62
  when "UrlValidator"
63
63
  return UrlValidatorHelper.evaluate(triggerPart, currentPageUrl)
64
64
  when "CookieValidator"
65
- return CookieValidatorHelper.evaluate(triggerPart, cookieList)
65
+ return CookieValidatorHelper.evaluate(triggerPart, request.cookie_jar)
66
66
  when "UserAgentValidator"
67
- return UserAgentValidatorHelper.evaluate(triggerPart, userAgent)
67
+ return UserAgentValidatorHelper.evaluate(triggerPart, request.user_agent)
68
+ when "HttpHeaderValidator"
69
+ return HttpHeaderValidatorHelper.evaluate(triggerPart, request.headers)
68
70
  else
69
71
  return false
70
72
  end
@@ -111,7 +113,7 @@ module QueueIt
111
113
  end
112
114
 
113
115
  class CookieValidatorHelper
114
- def self.evaluate(triggerPart, cookieList)
116
+ def self.evaluate(triggerPart, cookieJar)
115
117
  begin
116
118
  if (!triggerPart.key?("Operator") ||
117
119
  !triggerPart.key?("IsNegative") ||
@@ -121,14 +123,14 @@ module QueueIt
121
123
  return false;
122
124
  end
123
125
 
124
- if(cookieList.nil?)
126
+ if(cookieJar.nil?)
125
127
  return false
126
128
  end
127
129
 
128
130
  cookieName = triggerPart["CookieName"]
129
131
  cookieValue = ''
130
- if(!cookieName.nil? && !cookieList[cookieName.to_sym].nil?)
131
- cookieValue = cookieList[cookieName.to_sym]
132
+ if(!cookieName.nil? && !cookieJar[cookieName.to_sym].nil?)
133
+ cookieValue = cookieJar[cookieName.to_sym]
132
134
  end
133
135
  return ComparisonOperatorHelper.evaluate(
134
136
  triggerPart["Operator"],
@@ -162,6 +164,22 @@ module QueueIt
162
164
  end
163
165
  end
164
166
 
167
+ class HttpHeaderValidatorHelper
168
+ def self.evaluate(triggerPart, headers)
169
+ begin
170
+ headerValue = headers[triggerPart['HttpHeaderName']]
171
+ return ComparisonOperatorHelper.evaluate(
172
+ triggerPart["Operator"],
173
+ triggerPart["IsNegative"],
174
+ triggerPart["IsIgnoreCase"],
175
+ headerValue,
176
+ triggerPart["ValueToCompare"])
177
+ rescue
178
+ return false
179
+ end
180
+ end
181
+ end
182
+
165
183
  class ComparisonOperatorHelper
166
184
  def self.evaluate(opt, isNegative, ignoreCase, left, right)
167
185
  if(left.nil?)
@@ -60,7 +60,7 @@ module QueueIt
60
60
  end
61
61
  private_class_method :setDebugCookie
62
62
 
63
- def self._resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, cookieJar, request, debugEntries)
63
+ def self._resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, request, debugEntries)
64
64
  isDebug = getIsDebug(queueitToken, secretKey)
65
65
  if(isDebug)
66
66
  debugEntries["TargetUrl"] = targetUrl
@@ -102,12 +102,12 @@ module QueueIt
102
102
  raise KnownUserError, "queueConfig.extendCookieValidity should be valid boolean."
103
103
  end
104
104
 
105
- userInQueueService = getUserInQueueService(cookieJar)
105
+ userInQueueService = getUserInQueueService(request.cookie_jar)
106
106
  userInQueueService.validateQueueRequest(targetUrl, queueitToken, queueConfig, customerId, secretKey)
107
107
  end
108
108
  private_class_method :_resolveQueueRequestByLocalConfig
109
109
 
110
- def self._cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, cookieJar, request, debugEntries)
110
+ def self._cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, request, debugEntries)
111
111
  isDebug = getIsDebug(queueitToken, secretKey)
112
112
  if(isDebug)
113
113
  debugEntries["TargetUrl"] = targetUrl
@@ -144,12 +144,12 @@ module QueueIt
144
144
  raise KnownUserError, "cancelConfig.queueDomain can not be nil or empty."
145
145
  end
146
146
 
147
- userInQueueService = getUserInQueueService(cookieJar)
147
+ userInQueueService = getUserInQueueService(request.cookie_jar)
148
148
  userInQueueService.validateCancelRequest(targetUrl, cancelConfig, customerId, secretKey)
149
149
  end
150
150
  private_class_method :_cancelRequestByLocalConfig
151
151
 
152
- def self.extendQueueCookie(eventId, cookieValidityMinute, cookieDomain, secretKey, cookieJar)
152
+ def self.extendQueueCookie(eventId, cookieValidityMinute, cookieDomain, secretKey, request)
153
153
  if(Utils.isNilOrEmpty(eventId))
154
154
  raise KnownUserError, "eventId can not be nil or empty."
155
155
  end
@@ -163,20 +163,20 @@ module QueueIt
163
163
  raise KnownUserError, "cookieValidityMinute should be integer greater than 0."
164
164
  end
165
165
 
166
- userInQueueService = getUserInQueueService(cookieJar)
166
+ userInQueueService = getUserInQueueService(request.cookie_jar)
167
167
  userInQueueService.extendQueueCookie(eventId, cookieValidityMinute, cookieDomain, secretKey)
168
168
  end
169
169
 
170
- def self.resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, cookieJar, request)
170
+ def self.resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, request)
171
171
  debugEntries = Hash.new
172
172
  begin
173
- return _resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, cookieJar, request, debugEntries)
173
+ return _resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, request, debugEntries)
174
174
  ensure
175
- setDebugCookie(debugEntries, cookieJar)
175
+ setDebugCookie(debugEntries, request.cookie_jar)
176
176
  end
177
177
  end
178
178
 
179
- def self.validateRequestByIntegrationConfig(currentUrlWithoutQueueITToken, queueitToken, integrationsConfigString, customerId, secretKey, cookieJar, request)
179
+ def self.validateRequestByIntegrationConfig(currentUrlWithoutQueueITToken, queueitToken, integrationsConfigString, customerId, secretKey, request)
180
180
  if(Utils.isNilOrEmpty(currentUrlWithoutQueueITToken))
181
181
  raise KnownUserError, "currentUrlWithoutQueueITToken can not be nil or empty."
182
182
  end
@@ -198,7 +198,7 @@ module QueueIt
198
198
  end
199
199
 
200
200
  integrationEvaluator = IntegrationEvaluator.new
201
- matchedConfig = integrationEvaluator.getMatchedIntegrationConfig(customerIntegration, currentUrlWithoutQueueITToken, cookieJar, request.user_agent)
201
+ matchedConfig = integrationEvaluator.getMatchedIntegrationConfig(customerIntegration, currentUrlWithoutQueueITToken, request)
202
202
 
203
203
  if(isDebug)
204
204
  if(matchedConfig == nil)
@@ -232,7 +232,7 @@ module QueueIt
232
232
  targetUrl = currentUrlWithoutQueueITToken
233
233
  end
234
234
 
235
- return _resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, cookieJar, request, debugEntries)
235
+ return _resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, request, debugEntries)
236
236
 
237
237
  else # cancel action
238
238
  cancelConfig = CancelEventConfig.new;
@@ -241,21 +241,21 @@ module QueueIt
241
241
  cancelConfig.cookieDomain = matchedConfig["CookieDomain"]
242
242
  cancelConfig.version = customerIntegration["Version"]
243
243
 
244
- return _cancelRequestByLocalConfig(currentUrlWithoutQueueITToken, queueitToken, cancelConfig, customerId, secretKey, cookieJar, request, debugEntries);
244
+ return _cancelRequestByLocalConfig(currentUrlWithoutQueueITToken, queueitToken, cancelConfig, customerId, secretKey, request, debugEntries);
245
245
  end
246
246
  rescue StandardError => stdErr
247
247
  raise KnownUserError, "integrationConfiguration text was not valid: " + stdErr.message
248
248
  ensure
249
- setDebugCookie(debugEntries, cookieJar)
249
+ setDebugCookie(debugEntries, request.cookie_jar)
250
250
  end
251
251
  end
252
252
 
253
- def self.cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, cookieJar, request)
253
+ def self.cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, request)
254
254
  debugEntries = Hash.new
255
255
  begin
256
- return _cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, cookieJar, request, debugEntries)
256
+ return _cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, request, debugEntries)
257
257
  ensure
258
- setDebugCookie(debugEntries, cookieJar)
258
+ setDebugCookie(debugEntries, request.cookie_jar)
259
259
  end
260
260
  end
261
261
  end
@@ -3,7 +3,7 @@ require 'cgi'
3
3
 
4
4
  module QueueIt
5
5
  class UserInQueueService
6
- SDK_VERSION = "3.2.3"
6
+ SDK_VERSION = "3.3.0"
7
7
 
8
8
  def initialize(userInQueueStateRepository)
9
9
  @userInQueueStateRepository = userInQueueStateRepository
@@ -82,7 +82,7 @@ module QueueIt
82
82
  if (!domainAlias.end_with?("/") )
83
83
  domainAlias = domainAlias + "/"
84
84
  end
85
- redirectUrl = "https://" + domainAlias + "error/" + errorCode + "?" + query
85
+ redirectUrl = "https://" + domainAlias + "error/" + errorCode + "/?" + query
86
86
  return RequestValidationResult.new(ActionTypes::QUEUE, config.eventId, nil, redirectUrl)
87
87
  end
88
88
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queueit_knownuserv3
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Queue-it
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-02 00:00:00.000000000 Z
11
+ date: 2017-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler