workato-connector-sdk 1.3.6 → 1.3.8

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: 187eed4920526bb473b0a180df102f7efae2670486ce494d3bd2cb63014583a2
4
- data.tar.gz: ec8bee19f0db62e579a2dfc4284527e21f62009a2e3a24ccdee0b1895c3a715d
3
+ metadata.gz: ab098bba65e812d5ec811d584358c98d6d51e42433019af516a7cff3d1817e1d
4
+ data.tar.gz: 4433f811d9d144826a40868958a4c783fd18ab6834b230b5332d0b7fc7f6dfac
5
5
  SHA512:
6
- metadata.gz: da690f559eb1147232cea5818d3bb1d697ae30a7daff2ddd115ec0f53ba648372f477b2052e534aae8ab8b539d8cb07346dd04ada2362e59956853a68e2dbd07
7
- data.tar.gz: 9fc5327fbc5dc9b4cf58102afaeec169557e36d39085e12a6522c63309d4481d87096e67820205cca6df6403bdaed76095d966289b56d4dbc3f8a9b0a70eaecb
6
+ metadata.gz: bded379a7c421201fb92a51db40cc7b4d14e35f84c28bfd42cb26259aba4d1e1f0e99c49793ea84df2dc4adce0564e643aa01f5bc2b42990ee66a5a4fd58efbb
7
+ data.tar.gz: bec9736d31ebf8d492924e54e3b4e255d6672a6eb059dfcdcb604d968c876bddfd9512d553aff5a6b01bb36c9025d1496b0062315381b97f4130cfe71efa51a3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.6
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 = ->(payload) { payload }
34
- @parse_response = ->(payload) { payload }
35
- @after_response = ->(_response_code, parsed_response, _response_headers) { parsed_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
- yield(@payload) if Kernel.block_given?
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.6
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-09-06 00:00:00.000000000 Z
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.2.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