X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/75fc4c166f319cddd5b20af95a14a433274e956f..c2d962b16eb0a68a880326abfbc04d07db230815:/services/api/app/controllers/application_controller.rb diff --git a/services/api/app/controllers/application_controller.rb b/services/api/app/controllers/application_controller.rb index dfe6153090..c6e7da0e11 100644 --- a/services/api/app/controllers/application_controller.rb +++ b/services/api/app/controllers/application_controller.rb @@ -83,7 +83,8 @@ class ApplicationController < ActionController::Base else errors = [e.inspect] end - render json: { errors: errors }, status: 422 + status = e.respond_to?(:http_status) ? e.http_status : 422 + render json: { errors: errors }, status: status end def render_not_found(e=ActionController::RoutingError.new("Path not found")) @@ -327,13 +328,16 @@ class ApplicationController < ActionController::Base def render_list @object_list = { - :kind => "arvados##{resource_name}List", + :kind => "arvados##{(@response_resource_name || resource_name).camelize(:lower)}List", :etag => "", :self_link => "", :next_page_token => "", :next_link => "", :items => @objects.as_api_response(nil) } + if @objects.respond_to? :except + @object_list[:items_available] = @objects.except(:limit).count + end render json: @object_list end