anchor.diff:  
   
   %%--------------------------------------------------------------------
  -%% @doc Performs URL-uncoded string decoding
  +%% @doc Performs URL-encoded string decoding
   %% @end
   %%--------------------------------------------------------------------
   -spec url_decode(Data :: binary() | string()) -> binary().
  
positive.code: %%%-------------------------------------------------------------------
  -module(http_utils).
  
  -define(mail_validation_regexp,
      <<"^[a-z0-9!#$%&'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+\\/=?^_`{|}~-]+)*@(?"
      ":[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$">>).
  
  % URL encoding/decoding
  -export([url_encode/1, url_decode/1]).
  
negative.code: %%--------------------------------------------------------------------
  -spec validate_email(binary()) -> boolean().
  validate_email(Email) ->
      case re:run(Email, ?EMAIL_VALIDATION_REGEXP, [{capture, none}]) of
          match -> byte_size(Email) =< ?EMAIL_MAX_LENGTH;
          _ -> false
      end.
  
  