Commit 915dac0055cd801c080ebcd37749f4fc6d2d12c4

Authored by Alex Denisov
1 parent a839cb42

Error throwing moved to api_helper

lib/api/helpers.rb
@@ -8,7 +8,7 @@ module Gitlab @@ -8,7 +8,7 @@ module Gitlab
8 if @project ||= current_user.projects.find_by_id(params[:id]) || 8 if @project ||= current_user.projects.find_by_id(params[:id]) ||
9 current_user.projects.find_by_code(params[:id]) 9 current_user.projects.find_by_code(params[:id])
10 else 10 else
11 - error!({'message' => '404 Not found'}, 404) 11 + not_found!
12 end 12 end
13 13
14 @project 14 @project
@@ -19,15 +19,36 @@ module Gitlab @@ -19,15 +19,36 @@ module Gitlab
19 end 19 end
20 20
21 def authenticate! 21 def authenticate!
22 - error!({'message' => '401 Unauthorized'}, 401) unless current_user 22 + unauthorized! unless current_user
23 end 23 end
24 24
25 def authorize! action, subject 25 def authorize! action, subject
26 unless abilities.allowed?(current_user, action, subject) 26 unless abilities.allowed?(current_user, action, subject)
27 - error!({'message' => '403 Forbidden'}, 403) 27 + forbidden!
28 end 28 end
29 end 29 end
30 30
  31 + # error helpers
  32 +
  33 + def forbidden!
  34 + error!({'message' => '403 Forbidden'}, 403)
  35 + end
  36 +
  37 + def not_found!(resource = nil)
  38 + message = ["404"]
  39 + message << resource if resource
  40 + message << "Not Found"
  41 + error!({'message' => message.join(' ')}, 404)
  42 + end
  43 +
  44 + def unauthorized!
  45 + error!({'message' => '401 Unauthorized'}, 401)
  46 + end
  47 +
  48 + def not_allowed!
  49 + error!({'message' => 'method not allowed'}, 405)
  50 + end
  51 +
31 private 52 private
32 53
33 def abilities 54 def abilities
lib/api/issues.rb
@@ -60,7 +60,7 @@ module Gitlab @@ -60,7 +60,7 @@ module Gitlab
60 if @issue.save 60 if @issue.save
61 present @issue, with: Entities::Issue 61 present @issue, with: Entities::Issue
62 else 62 else
63 - error!({'message' => '404 Not found'}, 404) 63 + not_found!
64 end 64 end
65 end 65 end
66 66
@@ -93,7 +93,7 @@ module Gitlab @@ -93,7 +93,7 @@ module Gitlab
93 if @issue.update_attributes(parameters) 93 if @issue.update_attributes(parameters)
94 present @issue, with: Entities::Issue 94 present @issue, with: Entities::Issue
95 else 95 else
96 - error!({'message' => '404 Not found'}, 404) 96 + not_found!
97 end 97 end
98 end 98 end
99 99
@@ -105,7 +105,7 @@ module Gitlab @@ -105,7 +105,7 @@ module Gitlab
105 # Example Request: 105 # Example Request:
106 # DELETE /projects/:id/issues/:issue_id 106 # DELETE /projects/:id/issues/:issue_id
107 delete ":id/issues/:issue_id" do 107 delete ":id/issues/:issue_id" do
108 - error!({'message' => 'method not allowed'}, 405) 108 + not_allowed!
109 end 109 end
110 end 110 end
111 end 111 end
lib/api/milestones.rb
@@ -45,7 +45,7 @@ module Gitlab @@ -45,7 +45,7 @@ module Gitlab
45 if @milestone.save 45 if @milestone.save
46 present @milestone, with: Entities::Milestone 46 present @milestone, with: Entities::Milestone
47 else 47 else
48 - error!({'message' => '404 Not found'}, 404) 48 + not_found!
49 end 49 end
50 end 50 end
51 51
@@ -74,7 +74,7 @@ module Gitlab @@ -74,7 +74,7 @@ module Gitlab
74 if @milestone.update_attributes(parameters) 74 if @milestone.update_attributes(parameters)
75 present @milestone, with: Entities::Milestone 75 present @milestone, with: Entities::Milestone
76 else 76 else
77 - error!({'message' => '404 Not found'}, 404) 77 + not_found!
78 end 78 end
79 end 79 end
80 end 80 end
lib/api/projects.rb
@@ -50,7 +50,7 @@ module Gitlab @@ -50,7 +50,7 @@ module Gitlab
50 if @project.saved? 50 if @project.saved?
51 present @project, with: Entities::Project 51 present @project, with: Entities::Project
52 else 52 else
53 - error!({'message' => '404 Not found'}, 404) 53 + not_found!
54 end 54 end
55 end 55 end
56 56
@@ -172,7 +172,7 @@ module Gitlab @@ -172,7 +172,7 @@ module Gitlab
172 if @snippet.save 172 if @snippet.save
173 present @snippet, with: Entities::ProjectSnippet 173 present @snippet, with: Entities::ProjectSnippet
174 else 174 else
175 - error!({'message' => '404 Not found'}, 404) 175 + not_found!
176 end 176 end
177 end 177 end
178 178
@@ -201,7 +201,7 @@ module Gitlab @@ -201,7 +201,7 @@ module Gitlab
201 if @snippet.update_attributes(parameters) 201 if @snippet.update_attributes(parameters)
202 present @snippet, with: Entities::ProjectSnippet 202 present @snippet, with: Entities::ProjectSnippet
203 else 203 else
204 - error!({'message' => '404 Not found'}, 404) 204 + not_found!
205 end 205 end
206 end 206 end
207 207
@@ -244,10 +244,10 @@ module Gitlab @@ -244,10 +244,10 @@ module Gitlab
244 ref = params[:sha] 244 ref = params[:sha]
245 245
246 commit = user_project.commit ref 246 commit = user_project.commit ref
247 - error!('404 Commit Not Found', 404) unless commit 247 + not_found! "Commit" unless commit
248 248
249 tree = Tree.new commit.tree, user_project, ref, params[:filepath] 249 tree = Tree.new commit.tree, user_project, ref, params[:filepath]
250 - error!('404 File Not Found', 404) unless tree.try(:tree) 250 + not_found! "File" unless tree.try(:tree)
251 251
252 if tree.text? 252 if tree.text?
253 encoding = Gitlab::Encode.detect_encoding(tree.data) 253 encoding = Gitlab::Encode.detect_encoding(tree.data)