karaden-prg-ruby 1.1.0 → 1.2.1
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/.devcontainer/devcontainer.json +33 -40
- data/.devcontainer/docker/ruby/Dockerfile +21 -12
- data/.devcontainer/docker-compose.yml +3 -2
- data/.devcontainer/lifecycle/initialize-command.sh +6 -0
- data/.rubocop.yml +5 -0
- data/LICENSE +1 -1
- data/README.md +14 -1
- data/lib/karaden/config.rb +2 -2
- data/lib/karaden/exception/bulk_message_create_failed_exception.rb +9 -0
- data/lib/karaden/exception/bulk_message_list_message_retry_limit_exceed_exception.rb +9 -0
- data/lib/karaden/exception/bulk_message_show_retry_limit_exceed_exception.rb +9 -0
- data/lib/karaden/exception/file_download_failed_exception.rb +9 -0
- data/lib/karaden/exception/file_not_found_exception.rb +9 -0
- data/lib/karaden/exception/file_upload_failed_exception.rb +9 -0
- data/lib/karaden/model/bulk_file.rb +34 -0
- data/lib/karaden/model/bulk_message.rb +53 -0
- data/lib/karaden/model/requestable.rb +7 -0
- data/lib/karaden/net/no_contents_response.rb +80 -0
- data/lib/karaden/net/requestor.rb +3 -3
- data/lib/karaden/net/requestor_interface.rb +1 -1
- data/lib/karaden/net/response.rb +8 -0
- data/lib/karaden/net/response_interface.rb +8 -0
- data/lib/karaden/param/message/bulk/bulk_message_create_params.rb +78 -0
- data/lib/karaden/param/message/bulk/bulk_message_download_params.rb +126 -0
- data/lib/karaden/param/message/bulk/bulk_message_list_message_params.rb +72 -0
- data/lib/karaden/param/message/bulk/bulk_message_params.rb +15 -0
- data/lib/karaden/param/message/bulk/bulk_message_show_params.rb +72 -0
- data/lib/karaden/request_options.rb +7 -18
- data/lib/karaden/service/bulk_message_service.rb +90 -0
- data/lib/karaden/utility.rb +31 -1
- data/lib/karaden.rb +15 -0
- data/mock/2024-03-01.yaml +1061 -0
- data/mock/latest +1 -1
- metadata +23 -6
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
module Karaden
|
|
2
|
+
module Param
|
|
3
|
+
module Message
|
|
4
|
+
module Bulk
|
|
5
|
+
class BulkMessageDownloadParams < BulkMessageParams
|
|
6
|
+
attr_accessor :id, :directory_path, :max_retries, :retry_interval
|
|
7
|
+
|
|
8
|
+
DEFAULT_MAX_RETRIES = 2
|
|
9
|
+
MAX_MAX_RETRIES = 5
|
|
10
|
+
MIN_MAX_RETRIES = 1
|
|
11
|
+
DEFAULT_RETRY_INTERVAL = 20
|
|
12
|
+
MAX_RETRY_INTERVAL = 60
|
|
13
|
+
MIN_RETRY_INTERVAL = 10
|
|
14
|
+
|
|
15
|
+
def initialize()
|
|
16
|
+
@id = nil
|
|
17
|
+
@directory_path = nil
|
|
18
|
+
@max_retries = DEFAULT_MAX_RETRIES
|
|
19
|
+
@retry_interval = DEFAULT_RETRY_INTERVAL
|
|
20
|
+
super
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def validate
|
|
24
|
+
errors = Karaden::Model::KaradenObject.new
|
|
25
|
+
|
|
26
|
+
messages = validate_id
|
|
27
|
+
errors.set_property('id', messages) unless messages.empty?
|
|
28
|
+
|
|
29
|
+
messages = validate_directory_path
|
|
30
|
+
errors.set_property('directory_path', messages) unless messages.empty?
|
|
31
|
+
|
|
32
|
+
messages = validate_max_retries
|
|
33
|
+
errors.set_property('max_retries', messages) unless messages.empty?
|
|
34
|
+
|
|
35
|
+
messages = validate_retry_interval
|
|
36
|
+
errors.set_property('retry_interval', messages) unless messages.empty?
|
|
37
|
+
|
|
38
|
+
unless errors.property_keys.filter { |key| !errors.property(key).nil? }.empty?
|
|
39
|
+
e = Karaden::Exception::InvalidParamsException.new
|
|
40
|
+
error = Karaden::Model::Error.new
|
|
41
|
+
error.set_property('object', Karaden::Model::Error::OBJECT_NAME)
|
|
42
|
+
error.set_property('errors', errors)
|
|
43
|
+
e.error = error
|
|
44
|
+
raise e
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
self
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def self.new_builder
|
|
51
|
+
BulkMessageDownloadParamsBuilder.new
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
protected
|
|
55
|
+
|
|
56
|
+
def validate_id
|
|
57
|
+
messages = []
|
|
58
|
+
if @id.nil? || @id == ''
|
|
59
|
+
messages << 'idは必須です。'
|
|
60
|
+
messages << '文字列(UUID)を入力してください。'
|
|
61
|
+
end
|
|
62
|
+
messages
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def validate_directory_path
|
|
66
|
+
messages = []
|
|
67
|
+
if @directory_path.nil? || @directory_path == ''
|
|
68
|
+
messages << 'directory_pathは必須です。'
|
|
69
|
+
messages << '文字列を入力してください。'
|
|
70
|
+
else
|
|
71
|
+
messages << '指定されたディレクトリパスが存在しません。' unless Dir.exist?(@directory_path)
|
|
72
|
+
messages << '指定されたパスはディレクトリではありません。' unless File.directory?(@directory_path)
|
|
73
|
+
messages << '指定されたディレクトリには読み取り権限がありません。' unless File.readable?(@directory_path)
|
|
74
|
+
messages << '指定されたディレクトリには書き込み権限がありません。' unless File.writable?(@directory_path)
|
|
75
|
+
end
|
|
76
|
+
messages
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def validate_max_retries
|
|
80
|
+
messages = []
|
|
81
|
+
messages << "max_retriesには#{MIN_MAX_RETRIES}以上の整数を入力してください。" if @max_retries.nil? || !@max_retries.is_a?(Integer) || @max_retries < MIN_MAX_RETRIES
|
|
82
|
+
messages << "max_retriesには#{MAX_MAX_RETRIES}以下の整数を入力してください。" if @max_retries.nil? || !@max_retries.is_a?(Integer) || @max_retries > MAX_MAX_RETRIES
|
|
83
|
+
messages
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def validate_retry_interval
|
|
87
|
+
messages = []
|
|
88
|
+
messages << "retry_intervalには#{MIN_RETRY_INTERVAL}以上の整数を入力してください。" if @retry_interval.nil? || !@retry_interval.is_a?(Integer) || @retry_interval < MIN_RETRY_INTERVAL
|
|
89
|
+
messages << "retry_intervalには#{MAX_RETRY_INTERVAL}以下の整数を入力してください。" if @retry_interval.nil? || !@retry_interval.is_a?(Integer) || @retry_interval > MAX_RETRY_INTERVAL
|
|
90
|
+
messages
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
class BulkMessageDownloadParamsBuilder
|
|
95
|
+
def initialize
|
|
96
|
+
@params = BulkMessageDownloadParams.new
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def with_id(id)
|
|
100
|
+
@params.id = id
|
|
101
|
+
self
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def with_directory_path(directory_path)
|
|
105
|
+
@params.directory_path = directory_path
|
|
106
|
+
self
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def with_max_retries(max_retries)
|
|
110
|
+
@params.max_retries = max_retries
|
|
111
|
+
self
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def with_retry_interval(retry_interval)
|
|
115
|
+
@params.retry_interval = retry_interval
|
|
116
|
+
self
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def build
|
|
120
|
+
@params.clone
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
module Karaden
|
|
2
|
+
module Param
|
|
3
|
+
module Message
|
|
4
|
+
module Bulk
|
|
5
|
+
class BulkMessageListMessageParams < BulkMessageParams
|
|
6
|
+
attr_accessor :id
|
|
7
|
+
|
|
8
|
+
def initialize()
|
|
9
|
+
@id = nil
|
|
10
|
+
super
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def to_path
|
|
14
|
+
"#{CONTEXT_PATH}/#{@id}/messages"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def validate
|
|
18
|
+
errors = Karaden::Model::KaradenObject.new
|
|
19
|
+
has_error = false
|
|
20
|
+
|
|
21
|
+
messages = validate_id
|
|
22
|
+
unless messages.empty?
|
|
23
|
+
errors.set_property('id', messages)
|
|
24
|
+
has_error = true
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
if has_error
|
|
28
|
+
e = Karaden::Exception::InvalidParamsException.new
|
|
29
|
+
error = Karaden::Model::Error.new
|
|
30
|
+
error.set_property('object', Karaden::Model::Error::OBJECT_NAME)
|
|
31
|
+
error.set_property('errors', errors)
|
|
32
|
+
e.error = error
|
|
33
|
+
raise e
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
self
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.new_builder
|
|
40
|
+
BulkMessageListMessageParamsBuilder.new
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
protected
|
|
44
|
+
|
|
45
|
+
def validate_id
|
|
46
|
+
messages = []
|
|
47
|
+
if @id.nil? || @id == ''
|
|
48
|
+
messages << 'idは必須です。'
|
|
49
|
+
messages << '文字列(UUID)を入力してください。'
|
|
50
|
+
end
|
|
51
|
+
messages
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class BulkMessageListMessageParamsBuilder
|
|
56
|
+
def initialize
|
|
57
|
+
@params = BulkMessageListMessageParams.new
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def with_id(id)
|
|
61
|
+
@params.id = id
|
|
62
|
+
self
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def build
|
|
66
|
+
@params.clone
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
module Karaden
|
|
2
|
+
module Param
|
|
3
|
+
module Message
|
|
4
|
+
module Bulk
|
|
5
|
+
class BulkMessageShowParams < BulkMessageParams
|
|
6
|
+
attr_accessor :id
|
|
7
|
+
|
|
8
|
+
def initialize()
|
|
9
|
+
@id = nil
|
|
10
|
+
super
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def to_path
|
|
14
|
+
"#{CONTEXT_PATH}/#{@id}"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def validate
|
|
18
|
+
errors = Karaden::Model::KaradenObject.new
|
|
19
|
+
has_error = false
|
|
20
|
+
|
|
21
|
+
messages = validate_id
|
|
22
|
+
unless messages.empty?
|
|
23
|
+
errors.set_property('id', messages)
|
|
24
|
+
has_error = true
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
if has_error
|
|
28
|
+
e = Karaden::Exception::InvalidParamsException.new
|
|
29
|
+
error = Karaden::Model::Error.new
|
|
30
|
+
error.set_property('object', Karaden::Model::Error::OBJECT_NAME)
|
|
31
|
+
error.set_property('errors', errors)
|
|
32
|
+
e.error = error
|
|
33
|
+
raise e
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
self
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.new_builder
|
|
40
|
+
BulkMessageShowParamsBuilder.new
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
protected
|
|
44
|
+
|
|
45
|
+
def validate_id
|
|
46
|
+
messages = []
|
|
47
|
+
if @id.nil? || @id == ''
|
|
48
|
+
messages << 'idは必須です。'
|
|
49
|
+
messages << '文字列(UUID)を入力してください。'
|
|
50
|
+
end
|
|
51
|
+
messages
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class BulkMessageShowParamsBuilder
|
|
56
|
+
def initialize
|
|
57
|
+
@params = BulkMessageShowParams.new
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def with_id(id)
|
|
61
|
+
@params.id = id
|
|
62
|
+
self
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def build
|
|
66
|
+
@params.clone
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -27,33 +27,20 @@ module Karaden
|
|
|
27
27
|
|
|
28
28
|
def validate
|
|
29
29
|
errors = Karaden::Model::KaradenObject.new
|
|
30
|
-
has_error = false
|
|
31
30
|
|
|
32
31
|
messages = validate_api_base
|
|
33
|
-
unless messages.empty?
|
|
34
|
-
errors.set_property('api_base', messages)
|
|
35
|
-
has_error = true
|
|
36
|
-
end
|
|
32
|
+
errors.set_property('api_base', messages) unless messages.empty?
|
|
37
33
|
|
|
38
34
|
messages = validate_api_key
|
|
39
|
-
unless messages.empty?
|
|
40
|
-
errors.set_property('api_key', messages)
|
|
41
|
-
has_error = true
|
|
42
|
-
end
|
|
35
|
+
errors.set_property('api_key', messages) unless messages.empty?
|
|
43
36
|
|
|
44
37
|
messages = validate_api_version
|
|
45
|
-
unless messages.empty?
|
|
46
|
-
errors.set_property('api_version', messages)
|
|
47
|
-
has_error = true
|
|
48
|
-
end
|
|
38
|
+
errors.set_property('api_version', messages) unless messages.empty?
|
|
49
39
|
|
|
50
40
|
messages = validate_tenant_id
|
|
51
|
-
unless messages.empty?
|
|
52
|
-
errors.set_property('tenant_id', messages)
|
|
53
|
-
has_error = true
|
|
54
|
-
end
|
|
41
|
+
errors.set_property('tenant_id', messages) unless messages.empty?
|
|
55
42
|
|
|
56
|
-
|
|
43
|
+
unless errors.property_keys.filter { |key| !errors.property(key).nil? }.empty?
|
|
57
44
|
e = Karaden::Exception::InvalidRequestOptionsException.new
|
|
58
45
|
error = Karaden::Model::Error.new
|
|
59
46
|
error.set_property('object', Karaden::Model::Error::OBJECT_NAME)
|
|
@@ -140,10 +127,12 @@ module Karaden
|
|
|
140
127
|
|
|
141
128
|
def with_connection_timeout(connection_timeout)
|
|
142
129
|
@request_options.connection_timeout = connection_timeout
|
|
130
|
+
self
|
|
143
131
|
end
|
|
144
132
|
|
|
145
133
|
def with_read_timeout(read_timeout)
|
|
146
134
|
@request_options.read_timeout = read_timeout
|
|
135
|
+
self
|
|
147
136
|
end
|
|
148
137
|
|
|
149
138
|
def build
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
module Karaden
|
|
2
|
+
module Service
|
|
3
|
+
class BulkMessageService
|
|
4
|
+
REGEX_PATTERN = /filename="([^"]+)"/
|
|
5
|
+
|
|
6
|
+
def self.create(filename, request_options = nil)
|
|
7
|
+
raise Karaden::Exception::FileNotFoundException unless File.file?(filename)
|
|
8
|
+
|
|
9
|
+
bulk_file = Karaden::Model::BulkFile.create(request_options)
|
|
10
|
+
|
|
11
|
+
Karaden::Utility.put_signed_url(bulk_file.url, filename, 'text/csv', request_options)
|
|
12
|
+
|
|
13
|
+
params = Karaden::Param::Message::Bulk::BulkMessageCreateParams
|
|
14
|
+
.new_builder
|
|
15
|
+
.with_bulk_file_id(bulk_file.id)
|
|
16
|
+
.build
|
|
17
|
+
Karaden::Model::BulkMessage.create(params, request_options)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.download(params, request_options = nil)
|
|
21
|
+
params.validate
|
|
22
|
+
show_params = Karaden::Param::Message::Bulk::BulkMessageShowParams.new_builder
|
|
23
|
+
.with_id(params.id)
|
|
24
|
+
.build
|
|
25
|
+
unless Karaden::Service::BulkMessageService.check_bulk_message_status(params.max_retries, params.retry_interval, show_params, request_options)
|
|
26
|
+
raise Exception::BulkMessageShowRetryLimitExceedException
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
list_message_params = Param::Message::Bulk::BulkMessageListMessageParams.new_builder
|
|
30
|
+
.with_id(params.id)
|
|
31
|
+
.build
|
|
32
|
+
download_url = Karaden::Service::BulkMessageService.get_download_url(params.max_retries, params.retry_interval, list_message_params, request_options)
|
|
33
|
+
raise Exception::BulkMessageListMessageRetryLimitExceedException if download_url.nil?
|
|
34
|
+
|
|
35
|
+
begin
|
|
36
|
+
Karaden::Service::BulkMessageService.get_contents(download_url, params.directory_path, request_options)
|
|
37
|
+
rescue StandardError
|
|
38
|
+
raise Exception::FileDownloadFailedException
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def self.get_contents(download_url, directory_path, request_options = nil)
|
|
43
|
+
uri = URI.parse(download_url)
|
|
44
|
+
http = ::Net::HTTP.new(uri.host, uri.port)
|
|
45
|
+
http.use_ssl = uri.scheme == 'https'
|
|
46
|
+
http.open_timeout, http.read_timeout = Karaden::Utility.get_timeout(request_options)
|
|
47
|
+
http.request_get(uri.request_uri) do |response|
|
|
48
|
+
match = response['content-disposition'].match(Karaden::Service::BulkMessageService::REGEX_PATTERN)
|
|
49
|
+
raise Exception::FileDownloadFailedException unless match
|
|
50
|
+
|
|
51
|
+
filename = File.join(File.realpath(directory_path), match[1])
|
|
52
|
+
File.open(filename, 'w') do |file|
|
|
53
|
+
response.read_body do |chunk|
|
|
54
|
+
file.write(chunk)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
true
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def self.check_bulk_message_status(retry_count, _retry_interval, params, request_options)
|
|
62
|
+
result = false
|
|
63
|
+
(0..retry_count).each do |_count|
|
|
64
|
+
# sleep retry_interval if count.positive?
|
|
65
|
+
bulk_message = Karaden::Model::BulkMessage.show(params, request_options)
|
|
66
|
+
raise Exception::BulkMessageCreateFailedException if bulk_message.status == Karaden::Model::BulkMessage::STATUS_ERROR
|
|
67
|
+
|
|
68
|
+
if bulk_message.status == Karaden::Model::BulkMessage::STATUS_DONE
|
|
69
|
+
result = true
|
|
70
|
+
break
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
result
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def self.get_download_url(retry_count, _retry_interval, params, request_options)
|
|
77
|
+
result = nil
|
|
78
|
+
(0..retry_count).each do |_count|
|
|
79
|
+
# sleep retry_interval if count.positive?
|
|
80
|
+
output = Karaden::Model::BulkMessage.list_message(params, request_options)
|
|
81
|
+
unless output.nil?
|
|
82
|
+
result = output
|
|
83
|
+
break
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
result
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
data/lib/karaden/utility.rb
CHANGED
|
@@ -3,8 +3,12 @@ module Karaden
|
|
|
3
3
|
OBJECT_TYPES = {
|
|
4
4
|
Karaden::Model::Error::OBJECT_NAME => Karaden::Model::Error,
|
|
5
5
|
Karaden::Model::Collection::OBJECT_NAME => Karaden::Model::Collection,
|
|
6
|
-
Karaden::Model::Message::OBJECT_NAME => Karaden::Model::Message
|
|
6
|
+
Karaden::Model::Message::OBJECT_NAME => Karaden::Model::Message,
|
|
7
|
+
Karaden::Model::BulkFile::OBJECT_NAME => Karaden::Model::BulkFile,
|
|
8
|
+
Karaden::Model::BulkMessage::OBJECT_NAME => Karaden::Model::BulkMessage
|
|
7
9
|
}.freeze
|
|
10
|
+
DEFAULT_CONNECTION_TIMEOUT = 10
|
|
11
|
+
DEFAULT_READ_TIMEOUT = 30
|
|
8
12
|
|
|
9
13
|
def self.convert_to_karaden_object(contents, request_options)
|
|
10
14
|
clazz = OBJECT_TYPES[contents['object']] || Karaden::Model::KaradenObject
|
|
@@ -31,5 +35,31 @@ module Karaden
|
|
|
31
35
|
v.is_a?(Hash) ? convert_to_karaden_object(v, request_options) : v
|
|
32
36
|
end
|
|
33
37
|
end
|
|
38
|
+
|
|
39
|
+
def self.put_signed_url(signed_url, filename, content_type = 'application/octet-stream', request_options = nil)
|
|
40
|
+
uri = URI.parse(signed_url)
|
|
41
|
+
http = ::Net::HTTP.new(uri.host, uri.port)
|
|
42
|
+
http.use_ssl = uri.scheme == 'https'
|
|
43
|
+
http.open_timeout, http.read_timeout = get_timeout(request_options)
|
|
44
|
+
|
|
45
|
+
request = ::Net::HTTP::Put.new(uri.request_uri)
|
|
46
|
+
response = File.open(filename, 'rb') do |f|
|
|
47
|
+
request.body_stream = f
|
|
48
|
+
request['Content-Length'] = f.size
|
|
49
|
+
request['Content-Type'] = content_type
|
|
50
|
+
|
|
51
|
+
http.request(request)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
raise Karaden::Exception::FileUploadFailedException unless response.code == '200'
|
|
55
|
+
rescue Karaden::Exception::FileUploadFailedException
|
|
56
|
+
raise
|
|
57
|
+
rescue StandardError
|
|
58
|
+
raise Karaden::Exception::FileUploadFailedException
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def self.get_timeout(request_options = nil)
|
|
62
|
+
[request_options&.connection_timeout || DEFAULT_CONNECTION_TIMEOUT, request_options&.read_timeout || DEFAULT_READ_TIMEOUT]
|
|
63
|
+
end
|
|
34
64
|
end
|
|
35
65
|
end
|
data/lib/karaden.rb
CHANGED
|
@@ -10,7 +10,13 @@ require_relative 'karaden/config'
|
|
|
10
10
|
require_relative 'karaden/request_options'
|
|
11
11
|
require_relative 'karaden/exception/karaden_exception'
|
|
12
12
|
require_relative 'karaden/exception/bad_request_exception'
|
|
13
|
+
require_relative 'karaden/exception/bulk_message_create_failed_exception'
|
|
14
|
+
require_relative 'karaden/exception/bulk_message_list_message_retry_limit_exceed_exception'
|
|
15
|
+
require_relative 'karaden/exception/bulk_message_show_retry_limit_exceed_exception'
|
|
13
16
|
require_relative 'karaden/exception/forbidden_exception'
|
|
17
|
+
require_relative 'karaden/exception/file_download_failed_exception'
|
|
18
|
+
require_relative 'karaden/exception/file_not_found_exception'
|
|
19
|
+
require_relative 'karaden/exception/file_upload_failed_exception'
|
|
14
20
|
require_relative 'karaden/exception/not_found_exception'
|
|
15
21
|
require_relative 'karaden/exception/invalid_request_options_exception'
|
|
16
22
|
require_relative 'karaden/exception/invalid_params_exception'
|
|
@@ -23,14 +29,23 @@ require_relative 'karaden/net/requestor_interface'
|
|
|
23
29
|
require_relative 'karaden/net/requestor'
|
|
24
30
|
require_relative 'karaden/net/response_interface'
|
|
25
31
|
require_relative 'karaden/net/response'
|
|
32
|
+
require_relative 'karaden/net/no_contents_response'
|
|
26
33
|
require_relative 'karaden/model/karaden_object'
|
|
27
34
|
require_relative 'karaden/model/requestable'
|
|
28
35
|
require_relative 'karaden/model/message'
|
|
29
36
|
require_relative 'karaden/model/error'
|
|
30
37
|
require_relative 'karaden/model/collection'
|
|
38
|
+
require_relative 'karaden/model/bulk_file'
|
|
39
|
+
require_relative 'karaden/model/bulk_message'
|
|
31
40
|
require_relative 'karaden/param/message/message_params'
|
|
32
41
|
require_relative 'karaden/param/message/message_create_params'
|
|
33
42
|
require_relative 'karaden/param/message/message_cancel_params'
|
|
34
43
|
require_relative 'karaden/param/message/message_detail_params'
|
|
35
44
|
require_relative 'karaden/param/message/message_list_params'
|
|
45
|
+
require_relative 'karaden/param/message/bulk/bulk_message_params'
|
|
46
|
+
require_relative 'karaden/param/message/bulk/bulk_message_create_params'
|
|
47
|
+
require_relative 'karaden/param/message/bulk/bulk_message_download_params'
|
|
48
|
+
require_relative 'karaden/param/message/bulk/bulk_message_list_message_params'
|
|
49
|
+
require_relative 'karaden/param/message/bulk/bulk_message_show_params'
|
|
50
|
+
require_relative 'karaden/service/bulk_message_service'
|
|
36
51
|
require_relative 'karaden/utility'
|