Skip to content

Commit 6b89402

Browse files
committed
raised exception on failure
1 parent 3db8393 commit 6b89402

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/active_storage/service/image_kit_io_service.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ def upload(key, io, checksum: nil, **options)
7474
response = client.upload_file(file: io, file_name: blob.filename.to_s, content_type: blob.content_type)
7575
if response[:error].nil?
7676
blob.update_columns(metadata: response[:response].transform_keys(&:to_sym))
77+
else
78+
raise Exception.new response[:error]
7779
end
7880
end
7981
end

lib/imagekitio/request.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ def request(method, url, headers = create_headers, payload = nil)
4242
http.use_ssl = (uri.scheme == 'https')
4343
req = Net::HTTP::Post::Multipart.new uri.path, payload, headers
4444
resp = http.request(req)
45+
if resp.code.to_i == 400
46+
raise RestClient::ExceptionWithResponse, OpenStruct.new(http_code: 400, body: resp.body)
47+
end
4548
else
4649
resp = RestClient::Request.new(method: method,
4750
url: url,
@@ -63,7 +66,7 @@ def request(method, url, headers = create_headers, payload = nil)
6366
response[:error] = if err.http_code == 404
6467
{'message': err.response.to_s}
6568
else
66-
JSON.parse(err.response)
69+
err.response.is_a?(OpenStruct) ? JSON.parse(err.response.body) : JSON.parse(err.response)
6770
end
6871
end
6972
response

0 commit comments

Comments
 (0)