workato-connector-sdk 1.3.2 → 1.3.4
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/cli/oauth2_command.rb +1 -0
- data/lib/workato/connector/sdk/blank.rb +4 -0
- data/lib/workato/connector/sdk/dsl/csv_package.rb +9 -2
- data/lib/workato/connector/sdk/dsl/net_package.rb +58 -0
- data/lib/workato/connector/sdk/dsl/workato_package.rb +33 -2
- data/lib/workato/connector/sdk/dsl.rb +3 -1
- data/lib/workato/connector/sdk/request.rb +3 -2
- data/lib/workato/connector/sdk/trigger.rb +12 -7
- metadata +22 -92
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9685f9ff505890441b060e537a1ecd932d1411eb340f88d467a099d86e0f2477
|
|
4
|
+
data.tar.gz: 04121dee1b0d2e9b64749e73269552631db9137e54cd6942438e4a1e039260c6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 43c8e6dd0d6ccdbda9ddfa0c78dcd16923fe4700d6edda779a91d6b095158813caa491cc25585c3df6729864414b959009fe60d12489dbfbbf5c50e22a33c67a
|
|
7
|
+
data.tar.gz: 29bdd436e52361927397e37bdde770d244feee557c6038f426c73ba12b29aa231222655128acd3179c96c53cc327c9152bab019c38372b138cc485ef89835abc
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.3.
|
|
1
|
+
1.3.4
|
|
@@ -65,6 +65,13 @@ module Workato
|
|
|
65
65
|
end
|
|
66
66
|
def parse(str, headers:, col_sep: nil, row_sep: nil, quote_char: nil, skip_blanks: nil,
|
|
67
67
|
skip_first_line: false)
|
|
68
|
+
if headers.is_a?(FalseClass)
|
|
69
|
+
raise Sdk::ArgumentError,
|
|
70
|
+
'Headers are required. ' \
|
|
71
|
+
'Pass headers: true to implicitly use the first line or array/string for explicit headers'
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
|
|
68
75
|
if str.bytesize > MAX_FILE_SIZE_FOR_PARSE
|
|
69
76
|
raise CsvFileTooBigError.new(str.bytesize, MAX_FILE_SIZE_FOR_PARSE)
|
|
70
77
|
end
|
|
@@ -88,7 +95,7 @@ module Workato
|
|
|
88
95
|
end.to_a
|
|
89
96
|
rescue CSV::MalformedCSVError => e
|
|
90
97
|
raise CsvFormatError, e
|
|
91
|
-
rescue ArgumentError => e
|
|
98
|
+
rescue ::ArgumentError => e
|
|
92
99
|
raise Sdk::ArgumentError, e.message
|
|
93
100
|
end
|
|
94
101
|
|
|
@@ -111,7 +118,7 @@ module Workato
|
|
|
111
118
|
options[:write_headers] = options[:headers].present?
|
|
112
119
|
|
|
113
120
|
::CSV.generate(str || String.new, **options, &blk)
|
|
114
|
-
rescue ArgumentError => e
|
|
121
|
+
rescue ::ArgumentError => e
|
|
115
122
|
raise Sdk::ArgumentError, e.message
|
|
116
123
|
end
|
|
117
124
|
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# typed: strict
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require 'resolv'
|
|
5
|
+
|
|
6
|
+
module Workato
|
|
7
|
+
module Connector
|
|
8
|
+
module Sdk
|
|
9
|
+
NetLookupError = Class.new(Error)
|
|
10
|
+
|
|
11
|
+
module Dsl
|
|
12
|
+
class NetPackage
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
sig { params(name: String, record: String).returns(T::Array[T::Hash[Symbol, T.untyped]]) }
|
|
16
|
+
def lookup(name, record)
|
|
17
|
+
case record.upcase
|
|
18
|
+
when 'A'
|
|
19
|
+
records = dns_resolver.getresources(name, Resolv::DNS::Resource::IN::A)
|
|
20
|
+
records.map { |d| { address: d.address.to_s } }
|
|
21
|
+
when 'SRV'
|
|
22
|
+
records = dns_resolver.getresources(name, Resolv::DNS::Resource::IN::SRV)
|
|
23
|
+
records.map do |d|
|
|
24
|
+
{
|
|
25
|
+
port: d.port,
|
|
26
|
+
priority: d.priority,
|
|
27
|
+
target: d.target.to_s,
|
|
28
|
+
weight: d.weight
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
else
|
|
32
|
+
raise Sdk::ArgumentError, 'Record type not supported, Supported types: "A", "SRV"'
|
|
33
|
+
end
|
|
34
|
+
rescue Resolv::ResolvError, Resolv::ResolvTimeout => e
|
|
35
|
+
raise NetLookupError, e
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
sig { returns(Resolv::DNS) }
|
|
41
|
+
def dns_resolver
|
|
42
|
+
@dns_resolver ||= T.let(Resolv::DNS.new, T.nilable(Resolv::DNS))
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
T::Sig::WithoutRuntime.sig { params(symbol: T.any(String, Symbol), _args: T.untyped).void }
|
|
46
|
+
def method_missing(symbol, *_args)
|
|
47
|
+
raise UndefinedStdLibMethodError.new(symbol.to_s, 'workato.net')
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
T::Sig::WithoutRuntime.sig { params(_args: T.untyped).returns(T::Boolean) }
|
|
51
|
+
def respond_to_missing?(*_args)
|
|
52
|
+
false
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
require 'jwt'
|
|
5
5
|
require_relative './csv_package'
|
|
6
|
+
require_relative './net_package'
|
|
6
7
|
require_relative './stream_package'
|
|
7
8
|
|
|
8
9
|
using Workato::Extension::HashWithIndifferentAccess
|
|
@@ -20,7 +21,7 @@ module Workato
|
|
|
20
21
|
JWT_RSA_KEY_MIN_LENGTH = 2048
|
|
21
22
|
private_constant :JWT_RSA_KEY_MIN_LENGTH
|
|
22
23
|
|
|
23
|
-
JWT_HMAC_ALGORITHMS = %w[HS256].freeze
|
|
24
|
+
JWT_HMAC_ALGORITHMS = %w[HS256 HS384 HS512].freeze
|
|
24
25
|
private_constant :JWT_HMAC_ALGORITHMS
|
|
25
26
|
|
|
26
27
|
JWT_ECDSA_ALGORITHMS = %w[ES256 ES384 ES512].freeze
|
|
@@ -71,7 +72,10 @@ module Workato
|
|
|
71
72
|
end
|
|
72
73
|
end
|
|
73
74
|
|
|
74
|
-
header_fields = HashWithIndifferentAccess.wrap(header_fields)
|
|
75
|
+
header_fields = HashWithIndifferentAccess.wrap(header_fields)
|
|
76
|
+
.except(:typ, :alg)
|
|
77
|
+
.reverse_merge(typ: 'JWT', alg: algorithm)
|
|
78
|
+
|
|
75
79
|
::JWT.encode(payload, key, algorithm, header_fields)
|
|
76
80
|
rescue JWT::IncorrectAlgorithm
|
|
77
81
|
raise Sdk::ArgumentError, 'Mismatched algorithm and key'
|
|
@@ -79,6 +83,29 @@ module Workato
|
|
|
79
83
|
raise Sdk::ArgumentError, 'Invalid key'
|
|
80
84
|
end
|
|
81
85
|
|
|
86
|
+
def jwt_decode(jwt, key, algorithm)
|
|
87
|
+
algorithm = algorithm.to_s.upcase
|
|
88
|
+
|
|
89
|
+
unless JWT_ALGORITHMS.include?(algorithm)
|
|
90
|
+
raise Sdk::ArgumentError,
|
|
91
|
+
'Unsupported verification algorithm. ' \
|
|
92
|
+
"Supports only #{JWT_ALGORITHMS.join(', ')}. Got: '#{algorithm}'"
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
if JWT_RSA_ALGORITHMS.include?(algorithm)
|
|
96
|
+
key = OpenSSL::PKey::RSA.new(key)
|
|
97
|
+
elsif JWT_ECDSA_ALGORITHMS.include?(algorithm)
|
|
98
|
+
key = OpenSSL::PKey::EC.new(key)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
payload, header = ::JWT.decode(jwt, key, true, { algorithm: algorithm })
|
|
102
|
+
{ payload: payload, header: header }.with_indifferent_access
|
|
103
|
+
rescue JWT::IncorrectAlgorithm
|
|
104
|
+
raise Sdk::ArgumentError, 'Mismatched algorithm and key'
|
|
105
|
+
rescue OpenSSL::PKey::PKeyError
|
|
106
|
+
raise Sdk::ArgumentError, 'Invalid key'
|
|
107
|
+
end
|
|
108
|
+
|
|
82
109
|
def verify_rsa(payload, certificate, signature, algorithm = 'SHA256')
|
|
83
110
|
algorithm = algorithm.to_s.upcase
|
|
84
111
|
unless VERIFY_RCA_ALGORITHMS.include?(algorithm)
|
|
@@ -157,6 +184,10 @@ module Workato
|
|
|
157
184
|
@csv ||= CsvPackage.new
|
|
158
185
|
end
|
|
159
186
|
|
|
187
|
+
def net
|
|
188
|
+
@net ||= NetPackage.new
|
|
189
|
+
end
|
|
190
|
+
|
|
160
191
|
def stream
|
|
161
192
|
@stream ||= StreamPackage.new(streams: streams, connection: connection)
|
|
162
193
|
end
|
|
@@ -156,8 +156,9 @@ module Workato
|
|
|
156
156
|
self
|
|
157
157
|
end
|
|
158
158
|
|
|
159
|
-
def format_xml(root_element_name, namespaces = {},
|
|
160
|
-
request_format_xml(root_element_name, namespaces)
|
|
159
|
+
def format_xml(root_element_name, namespaces = {}, strip_response_namespaces: false)
|
|
160
|
+
request_format_xml(root_element_name, namespaces)
|
|
161
|
+
.response_format_xml(strip_response_namespaces: strip_response_namespaces)
|
|
161
162
|
end
|
|
162
163
|
|
|
163
164
|
def request_format_xml(root_element_name, namespaces = {})
|
|
@@ -9,7 +9,14 @@ module Workato
|
|
|
9
9
|
module Connector
|
|
10
10
|
module Sdk
|
|
11
11
|
module SorbetTypes
|
|
12
|
-
|
|
12
|
+
WebhookSubscribeClosureHash = T.type_alias { T::Hash[T.any(String, Symbol), T.untyped] }
|
|
13
|
+
|
|
14
|
+
WebhookSubscribeOutput = T.type_alias do
|
|
15
|
+
T.any(
|
|
16
|
+
WebhookSubscribeClosureHash,
|
|
17
|
+
[WebhookSubscribeClosureHash, T.nilable(T.any(Time, ActiveSupport::TimeWithZone))]
|
|
18
|
+
)
|
|
19
|
+
end
|
|
13
20
|
|
|
14
21
|
WebhookNotificationPayload = T.type_alias { T.untyped }
|
|
15
22
|
|
|
@@ -121,7 +128,7 @@ module Workato
|
|
|
121
128
|
headers: T::Hash[T.any(String, Symbol), T.untyped],
|
|
122
129
|
params: T::Hash[T.any(String, Symbol), T.untyped],
|
|
123
130
|
settings: T.nilable(SorbetTypes::SettingsHash),
|
|
124
|
-
webhook_subscribe_output: T.nilable(SorbetTypes::
|
|
131
|
+
webhook_subscribe_output: T.nilable(SorbetTypes::WebhookSubscribeClosureHash)
|
|
125
132
|
).returns(
|
|
126
133
|
SorbetTypes::WebhookNotificationOutputHash
|
|
127
134
|
)
|
|
@@ -161,9 +168,7 @@ module Workato
|
|
|
161
168
|
settings: T.nilable(SorbetTypes::SettingsHash),
|
|
162
169
|
input: SorbetTypes::OperationInputHash,
|
|
163
170
|
recipe_id: String
|
|
164
|
-
).returns(
|
|
165
|
-
SorbetTypes::WebhookSubscribeOutputHash
|
|
166
|
-
)
|
|
171
|
+
).returns(SorbetTypes::WebhookSubscribeOutput)
|
|
167
172
|
end
|
|
168
173
|
def webhook_subscribe(webhook_url = '', settings = nil, input = {}, recipe_id = recipe_id!)
|
|
169
174
|
webhook_subscribe_proc = trigger[:webhook_subscribe]
|
|
@@ -178,7 +183,7 @@ module Workato
|
|
|
178
183
|
end
|
|
179
184
|
end
|
|
180
185
|
|
|
181
|
-
sig { params(webhook_subscribe_output: SorbetTypes::
|
|
186
|
+
sig { params(webhook_subscribe_output: SorbetTypes::WebhookSubscribeClosureHash).returns(T.untyped) }
|
|
182
187
|
def webhook_unsubscribe(webhook_subscribe_output = {})
|
|
183
188
|
webhook_unsubscribe_proc = trigger[:webhook_unsubscribe]
|
|
184
189
|
execute(nil, webhook_subscribe_output) do |_connection, input|
|
|
@@ -192,7 +197,7 @@ module Workato
|
|
|
192
197
|
payload: T::Hash[T.any(String, Symbol), T.untyped],
|
|
193
198
|
headers: T::Hash[T.any(String, Symbol), T.untyped],
|
|
194
199
|
params: T::Hash[T.any(String, Symbol), T.untyped],
|
|
195
|
-
webhook_subscribe_output: T.nilable(SorbetTypes::
|
|
200
|
+
webhook_subscribe_output: T.nilable(SorbetTypes::WebhookSubscribeClosureHash)
|
|
196
201
|
).returns(
|
|
197
202
|
T.any(SorbetTypes::WebhookNotificationOutputHash, SorbetTypes::PollOutputHash)
|
|
198
203
|
)
|
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.
|
|
4
|
+
version: 1.3.4
|
|
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-05-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -112,16 +112,22 @@ dependencies:
|
|
|
112
112
|
name: jwt
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
|
-
- -
|
|
115
|
+
- - ">="
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
117
|
version: 1.5.6
|
|
118
|
+
- - "<"
|
|
119
|
+
- !ruby/object:Gem::Version
|
|
120
|
+
version: '3.0'
|
|
118
121
|
type: :runtime
|
|
119
122
|
prerelease: false
|
|
120
123
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
124
|
requirements:
|
|
122
|
-
- -
|
|
125
|
+
- - ">="
|
|
123
126
|
- !ruby/object:Gem::Version
|
|
124
127
|
version: 1.5.6
|
|
128
|
+
- - "<"
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '3.0'
|
|
125
131
|
- !ruby/object:Gem::Dependency
|
|
126
132
|
name: launchy
|
|
127
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,16 +160,22 @@ dependencies:
|
|
|
154
160
|
name: nokogiri
|
|
155
161
|
requirement: !ruby/object:Gem::Requirement
|
|
156
162
|
requirements:
|
|
157
|
-
- -
|
|
163
|
+
- - ">="
|
|
158
164
|
- !ruby/object:Gem::Version
|
|
159
165
|
version: 1.13.10
|
|
166
|
+
- - "<"
|
|
167
|
+
- !ruby/object:Gem::Version
|
|
168
|
+
version: '1.15'
|
|
160
169
|
type: :runtime
|
|
161
170
|
prerelease: false
|
|
162
171
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
172
|
requirements:
|
|
164
|
-
- -
|
|
173
|
+
- - ">="
|
|
165
174
|
- !ruby/object:Gem::Version
|
|
166
175
|
version: 1.13.10
|
|
176
|
+
- - "<"
|
|
177
|
+
- !ruby/object:Gem::Version
|
|
178
|
+
version: '1.15'
|
|
167
179
|
- !ruby/object:Gem::Dependency
|
|
168
180
|
name: rack
|
|
169
181
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,14 +194,14 @@ dependencies:
|
|
|
182
194
|
name: rails-html-sanitizer
|
|
183
195
|
requirement: !ruby/object:Gem::Requirement
|
|
184
196
|
requirements:
|
|
185
|
-
- -
|
|
197
|
+
- - "~>"
|
|
186
198
|
- !ruby/object:Gem::Version
|
|
187
199
|
version: 1.4.3
|
|
188
200
|
type: :runtime
|
|
189
201
|
prerelease: false
|
|
190
202
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
203
|
requirements:
|
|
192
|
-
- -
|
|
204
|
+
- - "~>"
|
|
193
205
|
- !ruby/object:Gem::Version
|
|
194
206
|
version: 1.4.3
|
|
195
207
|
- !ruby/object:Gem::Dependency
|
|
@@ -290,90 +302,6 @@ dependencies:
|
|
|
290
302
|
- - "~>"
|
|
291
303
|
- !ruby/object:Gem::Version
|
|
292
304
|
version: '1.0'
|
|
293
|
-
- !ruby/object:Gem::Dependency
|
|
294
|
-
name: rspec
|
|
295
|
-
requirement: !ruby/object:Gem::Requirement
|
|
296
|
-
requirements:
|
|
297
|
-
- - "~>"
|
|
298
|
-
- !ruby/object:Gem::Version
|
|
299
|
-
version: '3.0'
|
|
300
|
-
type: :development
|
|
301
|
-
prerelease: false
|
|
302
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
303
|
-
requirements:
|
|
304
|
-
- - "~>"
|
|
305
|
-
- !ruby/object:Gem::Version
|
|
306
|
-
version: '3.0'
|
|
307
|
-
- !ruby/object:Gem::Dependency
|
|
308
|
-
name: sorbet
|
|
309
|
-
requirement: !ruby/object:Gem::Requirement
|
|
310
|
-
requirements:
|
|
311
|
-
- - "~>"
|
|
312
|
-
- !ruby/object:Gem::Version
|
|
313
|
-
version: '0.5'
|
|
314
|
-
type: :development
|
|
315
|
-
prerelease: false
|
|
316
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
317
|
-
requirements:
|
|
318
|
-
- - "~>"
|
|
319
|
-
- !ruby/object:Gem::Version
|
|
320
|
-
version: '0.5'
|
|
321
|
-
- !ruby/object:Gem::Dependency
|
|
322
|
-
name: stub_server
|
|
323
|
-
requirement: !ruby/object:Gem::Requirement
|
|
324
|
-
requirements:
|
|
325
|
-
- - "~>"
|
|
326
|
-
- !ruby/object:Gem::Version
|
|
327
|
-
version: '0.6'
|
|
328
|
-
type: :development
|
|
329
|
-
prerelease: false
|
|
330
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
331
|
-
requirements:
|
|
332
|
-
- - "~>"
|
|
333
|
-
- !ruby/object:Gem::Version
|
|
334
|
-
version: '0.6'
|
|
335
|
-
- !ruby/object:Gem::Dependency
|
|
336
|
-
name: timecop
|
|
337
|
-
requirement: !ruby/object:Gem::Requirement
|
|
338
|
-
requirements:
|
|
339
|
-
- - "~>"
|
|
340
|
-
- !ruby/object:Gem::Version
|
|
341
|
-
version: '0.9'
|
|
342
|
-
type: :development
|
|
343
|
-
prerelease: false
|
|
344
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
345
|
-
requirements:
|
|
346
|
-
- - "~>"
|
|
347
|
-
- !ruby/object:Gem::Version
|
|
348
|
-
version: '0.9'
|
|
349
|
-
- !ruby/object:Gem::Dependency
|
|
350
|
-
name: vcr
|
|
351
|
-
requirement: !ruby/object:Gem::Requirement
|
|
352
|
-
requirements:
|
|
353
|
-
- - "~>"
|
|
354
|
-
- !ruby/object:Gem::Version
|
|
355
|
-
version: '6.0'
|
|
356
|
-
type: :development
|
|
357
|
-
prerelease: false
|
|
358
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
359
|
-
requirements:
|
|
360
|
-
- - "~>"
|
|
361
|
-
- !ruby/object:Gem::Version
|
|
362
|
-
version: '6.0'
|
|
363
|
-
- !ruby/object:Gem::Dependency
|
|
364
|
-
name: webmock
|
|
365
|
-
requirement: !ruby/object:Gem::Requirement
|
|
366
|
-
requirements:
|
|
367
|
-
- - "~>"
|
|
368
|
-
- !ruby/object:Gem::Version
|
|
369
|
-
version: '3.0'
|
|
370
|
-
type: :development
|
|
371
|
-
prerelease: false
|
|
372
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
373
|
-
requirements:
|
|
374
|
-
- - "~>"
|
|
375
|
-
- !ruby/object:Gem::Version
|
|
376
|
-
version: '3.0'
|
|
377
305
|
description: Reproduce key concepts of Workato SDK, DSL, behavior and constraints.
|
|
378
306
|
email:
|
|
379
307
|
- pavel.abolmasov@workato.com
|
|
@@ -401,6 +329,7 @@ files:
|
|
|
401
329
|
- lib/workato/connector/sdk.rb
|
|
402
330
|
- lib/workato/connector/sdk/account_properties.rb
|
|
403
331
|
- lib/workato/connector/sdk/action.rb
|
|
332
|
+
- lib/workato/connector/sdk/blank.rb
|
|
404
333
|
- lib/workato/connector/sdk/block_invocation_refinements.rb
|
|
405
334
|
- lib/workato/connector/sdk/connection.rb
|
|
406
335
|
- lib/workato/connector/sdk/connector.rb
|
|
@@ -414,6 +343,7 @@ files:
|
|
|
414
343
|
- lib/workato/connector/sdk/dsl/execution_context.rb
|
|
415
344
|
- lib/workato/connector/sdk/dsl/http.rb
|
|
416
345
|
- lib/workato/connector/sdk/dsl/lookup_table.rb
|
|
346
|
+
- lib/workato/connector/sdk/dsl/net_package.rb
|
|
417
347
|
- lib/workato/connector/sdk/dsl/reinvoke_after.rb
|
|
418
348
|
- lib/workato/connector/sdk/dsl/stream_package.rb
|
|
419
349
|
- lib/workato/connector/sdk/dsl/time.rb
|