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
|
-
|
4
|
+
MTU3N2I1ODBiZjE3ZWRkODk2YjJhYzE5NzgzMTBkOTY5NzYwNzQ5OA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Zjg2ZDIwZmQxYjRlYmFmN2Y1ODZjOGE2N2RjYWY5MGFhNTc5Y2U1Yg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzdkZWRhYjhhYjkyOGMzMDg0MTlmNGUxZDYzOGM4ZWY0MTU5ZGQ3M2Q3OTdj
|
10
|
+
YjZlYjIxNTgxMzg0MzE0MzI3MDExOTQ0NzNlNjhhYTFlMDUxZWE0YmJkNzUz
|
11
|
+
ZTVhNzc0NDE1MmRiOTdkMjNkZTVjN2ZmN2ZhYTg5YmVjNWVmOTg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
65
|
+
return CookieValidatorHelper.evaluate(triggerPart, request.cookie_jar)
|
66
66
|
when "UserAgentValidator"
|
67
|
-
return UserAgentValidatorHelper.evaluate(triggerPart,
|
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,
|
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(
|
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? && !
|
131
|
-
cookieValue =
|
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,
|
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(
|
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,
|
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(
|
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,
|
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(
|
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,
|
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,
|
173
|
+
return _resolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueConfig, customerId, secretKey, request, debugEntries)
|
174
174
|
ensure
|
175
|
-
setDebugCookie(debugEntries,
|
175
|
+
setDebugCookie(debugEntries, request.cookie_jar)
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
|
-
def self.validateRequestByIntegrationConfig(currentUrlWithoutQueueITToken, queueitToken, integrationsConfigString, customerId, secretKey,
|
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,
|
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,
|
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,
|
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,
|
249
|
+
setDebugCookie(debugEntries, request.cookie_jar)
|
250
250
|
end
|
251
251
|
end
|
252
252
|
|
253
|
-
def self.cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey,
|
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,
|
256
|
+
return _cancelRequestByLocalConfig(targetUrl, queueitToken, cancelConfig, customerId, secretKey, request, debugEntries)
|
257
257
|
ensure
|
258
|
-
setDebugCookie(debugEntries,
|
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.
|
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 + "
|
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.
|
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-
|
11
|
+
date: 2017-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|