Merge the diff for verify_is_server_admin/1

Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/commit/d2c5f480
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/tree/d2c5f480
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/diff/d2c5f480

Branch: refs/heads/split_out_httpd_stack
Commit: d2c5f4800e4e950383ce9150d97a84779bc56057
Parents: a8e03e2
Author: ILYA Khlopotov <iil...@ca.ibm.com>
Authored: Fri Feb 26 09:58:07 2016 -0800
Committer: ILYA Khlopotov <iil...@ca.ibm.com>
Committed: Tue Mar 1 08:35:08 2016 -0800

----------------------------------------------------------------------
 src/couch_httpd.erl          |  4 +++-
 src/couch_httpd_original.erl | 12 +++---------
 2 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/blob/d2c5f480/src/couch_httpd.erl
----------------------------------------------------------------------
diff --git a/src/couch_httpd.erl b/src/couch_httpd.erl
index 53b98e3..ea91405 100644
--- a/src/couch_httpd.erl
+++ b/src/couch_httpd.erl
@@ -543,7 +543,9 @@ etag_respond(Req, CurrentEtag, RespFun) ->
         RespFun()
     end.
 
-verify_is_server_admin(#httpd{user_ctx=#user_ctx{roles=Roles}}) ->
+verify_is_server_admin(#httpd{user_ctx=UserCtx}) ->
+    verify_is_server_admin(UserCtx);
+verify_is_server_admin(#user_ctx{roles=Roles}) ->
     case lists:member(<<"_admin">>, Roles) of
     true -> ok;
     false -> throw({unauthorized, <<"You are not a server admin.">>})

http://git-wip-us.apache.org/repos/asf/couchdb-couch-httpd/blob/d2c5f480/src/couch_httpd_original.erl
----------------------------------------------------------------------
diff --git a/src/couch_httpd_original.erl b/src/couch_httpd_original.erl
index abbce0e..98b334e 100644
--- a/src/couch_httpd_original.erl
+++ b/src/couch_httpd_original.erl
@@ -16,7 +16,7 @@
 -export([start_link/0, start_link/1, stop/0, handle_request/5]).
 
 
--export([verify_is_server_admin/1,error_info/1]).
+-export([error_info/1]).
 -export([make_fun_spec_strs/1]).
 
 
@@ -72,7 +72,8 @@
     validate_host/1,
     accepted_encodings/1,
     validate_referer/1,
-    validate_bind_address/1
+    validate_bind_address/1,
+    verify_is_server_admin/1
 ]).
 
 -define(HANDLER_NAME_IN_MODULE_POS, 6).
@@ -415,13 +416,6 @@ increment_method_stats(Method) ->
 
 
 
-verify_is_server_admin(#httpd{user_ctx=UserCtx}) ->
-    verify_is_server_admin(UserCtx);
-verify_is_server_admin(#user_ctx{roles=Roles}) ->
-    case lists:member(<<"_admin">>, Roles) of
-    true -> ok;
-    false -> throw({unauthorized, <<"You are not a server admin.">>})
-    end.
 
 error_info({Error, Reason}) when is_list(Reason) ->
     error_info({Error, ?l2b(Reason)});

Reply via email to