anchor.diff:      cowboy_req:reply(405, Req).
   
   node_name_to_binary() ->
  -    re:replace(atom_to_list(node()),"@","",[{return, binary}]).
  +    re:replace(atom_to_list(node()),"@","_",[{return, binary}]).
   
   -ifdef(TEST).
   auth_test() ->
  
positive.code: auth(Authorization) ->
      case {application:get_env(spread, jwt_key), application:get_env(spread, jwt_iss)} of
          {undefined, undefined} ->
              <<"anonymous">>;
          {{ok, Key}, {ok, Iss}} ->
              case jwt:decode(Authorization, Key) of
                  {ok, Claims} ->
  
negative.code:             end
      end.
  
  generate_id_and_token() ->
      Random = integer_to_binary(erlang:system_time(microsecond)),
      Uid = <<Random/binary, "@", (node_name_to_binary())/binary>>,
      case {application:get_env(spread, jwt_key), application:get_env(spread, jwt_iss)} of
          {undefined, undefined} ->
              Uid;
          {{ok, Key}, {ok, Iss}} ->
              Claims = [
                  {<<"iss">>, Iss},
                  {<<"uid">>, Uid}
              ],
              {ok, Token} = jwt:encode(<<"HS256">>, Claims, Key),
              jsx:encode([{<<"uid">>, Uid}, {<<"token">>, Token}]) %% Tokens never expire
      end.
  
  init(Req, State) ->
  