summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_httpd_external.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/couchdb/couch_httpd_external.erl')
-rw-r--r--src/couchdb/couch_httpd_external.erl7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/couchdb/couch_httpd_external.erl b/src/couchdb/couch_httpd_external.erl
index 4ff01d9e..d6fa945f 100644
--- a/src/couchdb/couch_httpd_external.erl
+++ b/src/couchdb/couch_httpd_external.erl
@@ -57,7 +57,8 @@ process_external_req(HttpReq, Db, Name) ->
json_req_obj(#httpd{mochi_req=Req,
method=Verb,
path_parts=Path,
- req_body=ReqBody
+ req_body=ReqBody,
+ user_ctx=#user_ctx{name=UserName, roles=UserRoles}
}, Db) ->
Body = case ReqBody of
undefined -> Req:recv_body();
@@ -69,6 +70,7 @@ json_req_obj(#httpd{mochi_req=Req,
_ ->
[]
end,
+ UserCtx = {[{<<"name">>, UserName}, {<<"roles">>, UserRoles}]},
Headers = Req:get(headers),
Hlist = mochiweb_headers:to_list(Headers),
{ok, Info} = couch_db:get_db_info(Db),
@@ -80,7 +82,8 @@ json_req_obj(#httpd{mochi_req=Req,
{<<"headers">>, to_json_terms(Hlist)},
{<<"body">>, Body},
{<<"form">>, to_json_terms(ParsedForm)},
- {<<"cookie">>, to_json_terms(Req:parse_cookie())}]}.
+ {<<"cookie">>, to_json_terms(Req:parse_cookie())},
+ {<<"userCtx">>, UserCtx}]}.
to_json_terms(Data) ->
to_json_terms(Data, []).