2012-10-17 5 views
1

우리는 얼랭/카우보이를 사용하여 웹 소켓을 기반으로 간단한 채팅 서비스를 개발했습니다. 사용자가 연결할 때 URL 매개 변수를 기반으로 인증이 수행되고 연결에 대해 사용자 ID 또는 없음이 반환됩니다.카우보이 요청에 추가 속성 추가

내 바보 같은 질문은 사용자 ID를 요청 데이터 구조에 저장하는 방법이며 사용자 ID는 나중의 프로세스에서 사용할 수 있습니까?

답변

6

cowboy_rest을 사용하는 경우 승인 후 사용자 데이터를 저장하려면 handler_state을 사용할 수 있습니다. 예 :

-record(rs_state{user}). 
rest_init(Req, Opts) -> 
    {ok, Req, #rs_state{}}. 

is_authorized(Req, State) -> 
    %% authentication code 
    {ok, User} = ... 
    {true, Req, State#rs_state{user=User}}}. 
+0

감사합니다. 나는 사용자 ID를 Req에 저장하려고 생각했다. 잘못된 것이고, State에 저장해야한다. –