anchor.diff:      ok.
   
   websocket_init(_Any, Req, _Opts) ->
  -    State = undefined,
  -    {ok, Req, State, hibernate}.
  +    {SessionId, _Req2}  = cowboy_http_req:cookie(<<"_boss_session">>, Req),
  +    WebsocketId = self(),
  +    boss_websocket:ws_open(WebsocketId, SessionId),
  +    {ok, Req,  #state{websocket_id=WebsocketId, session_id=SessionId}, hibernate}.
   
   websocket_handle({text, Msg}, Req, State) ->
       error_logger:info_msg("websocket#message:~p~nWebsocketPid ~p~nState=~p~n", 
   			  [Msg, erlang:pid_to_list(self()), State]),    
  +    #state{websocket_id=WsId, session_id=SsId} = State,
  +     boss_websocket:put_msg(WsId, SsId, Msg),
       {reply, {text, "copy" }, Req, State, hibernate};
   
   websocket_handle(_Any, Req, State) ->
  
positive.code: 	{<<"WebSocket">>, _Req2} -> {upgrade, protocol, cowboy_http_websocket}
      end.
  
  loop(Req) ->
      boss_web_controller:handle_request(Req, mochiweb_request_bridge, mochiweb_response_bridge).
  
  
negative.code: websocket_info(_Info, Req, State) ->
      {ok, Req, State, hibernate}.
  
  websocket_terminate(_Reason, _Req, State) ->
     #state{websocket_id=WsId,
  	  session_id=SsId
  	   }= State,
     boss_websocket:ws_close(WsId, SsId),
      ok.
  