workato-connector-sdk 1.3.6 → 1.3.7

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: 49aa4824f123bf7b6601d8b2a341fee4c06f2b51142ddbcb6a86d59199018265
4
+ data.tar.gz: be9fedf954b6dac11edd5b41458b5a8a649e388e4407ee044521912e9eccbfd5
5
5
  SHA512:
6
- metadata.gz: da690f559eb1147232cea5818d3bb1d697ae30a7daff2ddd115ec0f53ba648372f477b2052e534aae8ab8b539d8cb07346dd04ada2362e59956853a68e2dbd07
7
- data.tar.gz: 9fc5327fbc5dc9b4cf58102afaeec169557e36d39085e12a6522c63309d4481d87096e67820205cca6df6403bdaed76095d966289b56d4dbc3f8a9b0a70eaecb
6
+ metadata.gz: 56a7885ec1f441f2df917eebb703632825c3a978252d25cbb74ad683c41c9a2ca9625cec83f7a9dadb2b8a046f7da5d3ff8445ec192118c15ad208f653d6e23d
7
+ data.tar.gz: 0262d744fcc2c96fa6bf602ebd0c18b0b52165833e66a93b52dea7cdbd5d1c7c5e6b6731aa9c029369738634f1f0f4426866637b577af486fc33075ac0470df5
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.6
1
+ 1.3.7
@@ -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
@@ -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,14 +1,14 @@
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.7
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-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -439,7 +439,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
439
439
  - !ruby/object:Gem::Version
440
440
  version: '0'
441
441
  requirements: []
442
- rubygems_version: 3.2.3
442
+ rubygems_version: 3.4.10
443
443
  signing_key:
444
444
  specification_version: 4
445
445
  summary: Gem for running adapter's code outside Workato infrastructure