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 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