Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/helpers.rb')
-rw-r--r--lib/api/helpers.rb17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index 184fe7868a5..de9d42bdce7 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -119,7 +119,7 @@ module API
def find_project(id)
return unless id
- projects = Project.without_deleted
+ projects = Project.without_deleted.not_hidden
if id.is_a?(Integer) || id =~ /^\d+$/
projects.find_by(id: id)
@@ -474,17 +474,22 @@ module API
model.errors.messages
end
- def render_spam_error!
- render_api_error!({ error: 'Spam detected' }, 400)
+ def render_api_error!(message, status)
+ render_structured_api_error!({ 'message' => message }, status)
end
- def render_api_error!(message, status)
+ def render_structured_api_error!(hash, status)
+ # Use this method instead of `render_api_error!` when you have additional top-level
+ # hash entries in addition to 'message' which need to be passed to `#error!`
+ set_status_code_in_env(status)
+ error!(hash, status, header)
+ end
+
+ def set_status_code_in_env(status)
# grape-logging doesn't pass the status code, so this is a
# workaround for getting that information in the loggers:
# https://github.com/aserafin/grape_logging/issues/71
env[API_RESPONSE_STATUS_CODE] = Rack::Utils.status_code(status)
-
- error!({ 'message' => message }, status, header)
end
def handle_api_exception(exception)