diff options
Diffstat (limited to 'src/couchdb/couch_httpd_external.erl')
-rw-r--r-- | src/couchdb/couch_httpd_external.erl | 7 |
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, []). |