workato-connector-sdk 1.3.6 → 1.3.8
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 +4 -4
- data/VERSION +1 -1
- data/lib/workato/connector/sdk/dsl/workato_package.rb +4 -0
- data/lib/workato/connector/sdk/request.rb +16 -4
- data/lib/workato/extension/string.rb +18 -1
- metadata +25 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab098bba65e812d5ec811d584358c98d6d51e42433019af516a7cff3d1817e1d
|
4
|
+
data.tar.gz: 4433f811d9d144826a40868958a4c783fd18ab6834b230b5332d0b7fc7f6dfac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bded379a7c421201fb92a51db40cc7b4d14e35f84c28bfd42cb26259aba4d1e1f0e99c49793ea84df2dc4adce0564e643aa01f5bc2b42990ee66a5a4fd58efbb
|
7
|
+
data.tar.gz: bec9736d31ebf8d492924e54e3b4e255d6672a6eb059dfcdcb604d968c876bddfd9512d553aff5a6b01bb36c9025d1496b0062315381b97f4130cfe71efa51a3
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.
|
1
|
+
1.3.8
|
@@ -102,6 +102,8 @@ module Workato
|
|
102
102
|
raise Sdk::ArgumentError, 'Mismatched algorithm and key'
|
103
103
|
rescue OpenSSL::PKey::PKeyError
|
104
104
|
raise Sdk::ArgumentError, 'Invalid key'
|
105
|
+
rescue JWT::VerificationError
|
106
|
+
raise Sdk::ArgumentError, 'Invalid signature'
|
105
107
|
end
|
106
108
|
|
107
109
|
def verify_rsa(payload, certificate, signature, algorithm = 'SHA256')
|
@@ -172,6 +174,8 @@ module Workato
|
|
172
174
|
cipher.key = key
|
173
175
|
cipher.iv = init_vector if init_vector.present?
|
174
176
|
Types::Binary.new(cipher.update(string) + cipher.final)
|
177
|
+
rescue OpenSSL::Cipher::CipherError => e
|
178
|
+
raise Sdk::ArgumentError, e.message
|
175
179
|
end
|
176
180
|
|
177
181
|
def pbkdf2_hmac_sha1(string, salt, iterations = 1000, key_len = 16)
|
@@ -30,9 +30,9 @@ module Workato
|
|
30
30
|
@action = action
|
31
31
|
@headers = {}
|
32
32
|
@case_sensitive_headers = {}
|
33
|
-
@render_request =
|
34
|
-
@parse_response =
|
35
|
-
@after_response =
|
33
|
+
@render_request = DEFAULT_RENDER_REQUEST
|
34
|
+
@parse_response = DEFAULT_PARSE_RESPONSE
|
35
|
+
@after_response = DEFAULT_AFTER_RESPONSE
|
36
36
|
@callstack_before_request = Array.wrap(Kernel.caller)
|
37
37
|
end
|
38
38
|
|
@@ -90,7 +90,10 @@ module Workato
|
|
90
90
|
else
|
91
91
|
@payload = payload
|
92
92
|
end
|
93
|
-
|
93
|
+
if Kernel.block_given?
|
94
|
+
@payload ||= ActiveSupport::HashWithIndifferentAccess.new
|
95
|
+
yield(@payload)
|
96
|
+
end
|
94
97
|
self
|
95
98
|
end
|
96
99
|
|
@@ -254,6 +257,15 @@ module Workato
|
|
254
257
|
|
255
258
|
private
|
256
259
|
|
260
|
+
DEFAULT_RENDER_REQUEST = ->(_) {}
|
261
|
+
private_constant :DEFAULT_RENDER_REQUEST
|
262
|
+
|
263
|
+
DEFAULT_PARSE_RESPONSE = ->(payload) { payload }
|
264
|
+
private_constant :DEFAULT_PARSE_RESPONSE
|
265
|
+
|
266
|
+
DEFAULT_AFTER_RESPONSE = ->(_response_code, parsed_response, _response_headers) { parsed_response }
|
267
|
+
private_constant :DEFAULT_AFTER_RESPONSE
|
268
|
+
|
257
269
|
attr_reader :method
|
258
270
|
|
259
271
|
def response
|
@@ -72,7 +72,7 @@ module Workato
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def transliterate(replacement = '?')
|
75
|
-
I18n.transliterate(self, replacement)
|
75
|
+
I18n.transliterate(self, replacement: replacement)
|
76
76
|
end
|
77
77
|
|
78
78
|
def labelize(*acronyms)
|
@@ -143,6 +143,15 @@ module Workato
|
|
143
143
|
Types::Binary.new(::Digest::SHA256.digest(self))
|
144
144
|
end
|
145
145
|
|
146
|
+
def encode_sha512
|
147
|
+
Types::Binary.new(::Digest::SHA512.digest(self))
|
148
|
+
end
|
149
|
+
|
150
|
+
def encode_sha512_256 # rubocop:disable Naming/VariableNumber
|
151
|
+
digest = ::OpenSSL::Digest.new('sha512-256', self)
|
152
|
+
Types::Binary.new(digest.to_s)
|
153
|
+
end
|
154
|
+
|
146
155
|
def hmac_sha256(key)
|
147
156
|
digest = ::OpenSSL::Digest.new('sha256')
|
148
157
|
Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
|
@@ -159,6 +168,14 @@ module Workato
|
|
159
168
|
Types::Binary.new(private_key.sign(digest, self))
|
160
169
|
end
|
161
170
|
|
171
|
+
def rsa_sha512(key)
|
172
|
+
digest = ::OpenSSL::Digest.new('sha512')
|
173
|
+
private_key = ::OpenSSL::PKey::RSA.new(key)
|
174
|
+
Types::Binary.new(private_key.sign(digest, self))
|
175
|
+
rescue OpenSSL::PKey::RSAError => e
|
176
|
+
Kernel.raise(Workato::Connector::Sdk::ArgumentError, e.message)
|
177
|
+
end
|
178
|
+
|
162
179
|
def md5_hexdigest
|
163
180
|
::Digest::MD5.hexdigest(self)
|
164
181
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workato-connector-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Abolmasov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '5.2'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '7.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '5.2'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '7.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: aws-sigv4
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,16 +104,22 @@ dependencies:
|
|
98
104
|
name: i18n
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
100
106
|
requirements:
|
101
|
-
- -
|
107
|
+
- - ">="
|
102
108
|
- !ruby/object:Gem::Version
|
103
109
|
version: 0.9.5
|
110
|
+
- - "<"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '2.0'
|
104
113
|
type: :runtime
|
105
114
|
prerelease: false
|
106
115
|
version_requirements: !ruby/object:Gem::Requirement
|
107
116
|
requirements:
|
108
|
-
- -
|
117
|
+
- - ">="
|
109
118
|
- !ruby/object:Gem::Version
|
110
119
|
version: 0.9.5
|
120
|
+
- - "<"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '2.0'
|
111
123
|
- !ruby/object:Gem::Dependency
|
112
124
|
name: jwt
|
113
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,6 +207,9 @@ dependencies:
|
|
195
207
|
requirement: !ruby/object:Gem::Requirement
|
196
208
|
requirements:
|
197
209
|
- - "~>"
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '1.4'
|
212
|
+
- - ">="
|
198
213
|
- !ruby/object:Gem::Version
|
199
214
|
version: 1.4.3
|
200
215
|
type: :runtime
|
@@ -202,6 +217,9 @@ dependencies:
|
|
202
217
|
version_requirements: !ruby/object:Gem::Requirement
|
203
218
|
requirements:
|
204
219
|
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '1.4'
|
222
|
+
- - ">="
|
205
223
|
- !ruby/object:Gem::Version
|
206
224
|
version: 1.4.3
|
207
225
|
- !ruby/object:Gem::Dependency
|
@@ -439,7 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
439
457
|
- !ruby/object:Gem::Version
|
440
458
|
version: '0'
|
441
459
|
requirements: []
|
442
|
-
rubygems_version: 3.
|
460
|
+
rubygems_version: 3.4.10
|
443
461
|
signing_key:
|
444
462
|
specification_version: 4
|
445
463
|
summary: Gem for running adapter's code outside Workato infrastructure
|