anchor.diff:  whole_url(Path) when is_list(Path) ->
       whole_url(list_to_binary(Path)).
   
  +%% @doc create a redirection for cowboy to the given url.
  +-spec redirect_to(Url :: binary(), cowboy_req:req()) ->
  +                         {ok, cowboy_req:req(), []}.
   redirect_to(Url, Req) ->
       Header = [{<<"location">>, Url}],
       {ok, Req2} = cowboy_req:reply(302, Header, Req),
       {ok, Req2, []}.
   
  +%% @doc return the name of the cookie.
  +-spec cookie_name() -> binary().
   cookie_name() ->
       ?COOKIE.
   
  +%% @doc return the string for the current port setting
  +-spec local_port() -> PortText :: binary().
   local_port() ->
       return_port(?CONFIG(port), ?CONFIG(ssl)).
  +
  +%% @doc helper function to decide if the port needs to be written.
  +-spec return_port(PortNumber :: pos_integer(), UsingSSL :: boolean() )
  +                 -> PortText :: binary().
   return_port(443, true) ->
       <<"">>;
   return_port(80, false) ->
  
positive.code:     Base = ?CONFIG(ep_main),
      << Base/binary, AppendBin/binary >>.
  
  whole_url(Path) when is_binary(Path)->
      HostName = binary:list_to_bin(?CONFIG(hostname)),
      Prot = local_protocol(),
  
negative.code:     PortBin = binary:list_to_bin(io_lib:format("~p", [Port])),
      << <<":">>/binary, PortBin/binary>>.
  
  %% @doc return the protocol to use, either https or http.
  -spec local_protocol() -> ProtocolText :: binary().
  local_protocol() ->
      return_http(?CONFIG(ssl)).
  
  %% helper function to return the protocol
  -spec return_http(UseSSL :: boolean()) -> binary().
  return_http(false) ->
      <<"http://">>;
  return_http(_) ->
  