projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into 4383-easy-install
[arvados.git]
/
apps
/
workbench
/
app
/
models
/
arvados_api_client.rb
diff --git
a/apps/workbench/app/models/arvados_api_client.rb
b/apps/workbench/app/models/arvados_api_client.rb
index 9f34a29e5bfffb2c5df33299cb9b3b0181509681..7076799f8369e64b55e4d3b33d3c404787a08ad5 100644
(file)
--- a/
apps/workbench/app/models/arvados_api_client.rb
+++ b/
apps/workbench/app/models/arvados_api_client.rb
@@
-8,6
+8,10
@@
class ArvadosApiClient
def initialize(request_url, errmsg)
@request_url = request_url
@api_response ||= {}
def initialize(request_url, errmsg)
@request_url = request_url
@api_response ||= {}
+ errors = @api_response[:errors]
+ if not errors.is_a?(Array)
+ @api_response[:errors] = [errors || errmsg]
+ end
super(errmsg)
end
end
super(errmsg)
end
end
@@
-120,7
+124,7
@@
class ArvadosApiClient
header = {"Accept" => "application/json"}
header = {"Accept" => "application/json"}
- profile_checkpoint { "Prepare request #{url} #{query[:uuid]} #{query[:where]} #{query[:filters]}" }
+ profile_checkpoint { "Prepare request #{url} #{query[:uuid]} #{query[:where]} #{query[:filters]}
#{query[:order]}
" }
msg = @client_mtx.synchronize do
begin
@api_client.post(url, query, header: header)
msg = @client_mtx.synchronize do
begin
@api_client.post(url, query, header: header)
@@
-138,7
+142,8
@@
class ArvadosApiClient
if not resp.is_a? Hash
raise InvalidApiResponseException.new(url, msg)
elsif msg.status_code != 200
if not resp.is_a? Hash
raise InvalidApiResponseException.new(url, msg)
elsif msg.status_code != 200
- error_class = ERROR_CODE_CLASSES.fetch(msg.status_code, ApiError)
+ error_class = ERROR_CODE_CLASSES.fetch(msg.status_code,
+ ApiErrorResponseException)
raise error_class.new(url, msg)
end
raise error_class.new(url, msg)
end