anchor.diff:  
   %% @private
   -spec handler_loop(#state{}, cowboy_req:req(), any(), binary()) -> closed.
  -handler_loop(State=#state{messages={OK, Closed, Error}, timeout_ref=TRef},
  -		Req=#http_req{socket=Socket}, HandlerState, SoFar) ->
  +handler_loop(State=#state{
  +			socket=Socket, messages={OK, Closed, Error}, timeout_ref=TRef},
  +		Req, HandlerState, SoFar) ->
   	receive
   		{OK, Socket, Data} ->
   			websocket_data(State, Req, HandlerState,
  
positive.code: 
  -spec websocket_close(#state{}, cowboy_req:req(), any(), {atom(), atom()})
  	-> closed.
  websocket_close(State=#state{version=0}, Req=#http_req{socket=Socket,
  		transport=Transport}, HandlerState, Reason) ->
  	Transport:send(Socket, << 255, 0 >>),
  	handler_terminate(State, Req, HandlerState, Reason);
  %% @todo Send a Payload? Using Reason is usually good but we're quite careless.
  websocket_close(State, Req=#http_req{socket=Socket,
  		transport=Transport}, HandlerState, Reason) ->
  	Transport:send(Socket, << 1:1, 0:3, 8:4, 0:8 >>),
  	handler_terminate(State, Req, HandlerState, Reason).
  
  
negative.code: 		_Any ->
  			closed %% If an error happened reading the body, stop there.
  	end;
  websocket_handshake(State=#state{transport=Transport, challenge=Challenge},
  		Req, HandlerState) ->
  	{ok, Req2} = cowboy_req:upgrade_reply(
  		101,
  		[{<<"Upgrade">>, <<"websocket">>},
  