anchor.diff:  %%
   %% The URL includes the scheme, host and port only.
   %% @see cowboy_req:url/1
  --spec host_url(Req) -> {binary(), Req} when Req::req().
  +-spec host_url(Req) -> {undefined | binary(), Req} when Req::req().
  +host_url(Req=#http_req{port=undefined}) ->
  +	{undefined, Req};
   host_url(Req=#http_req{transport=Transport, host=Host, port=Port}) ->
   	TransportName = Transport:name(),
   	Secure = case TransportName of
  
positive.code: %% @doc Return the full request URL as a binary.
  %%
  %% The URL includes the scheme, host, port, path, query string and fragment.
  -spec url(Req) -> {binary(), Req} when Req::req().
  url(Req=#http_req{path=Path, qs=QS, fragment=Fragment}) ->
  	{HostURL, Req2} = host_url(Req),
  	QS2 = case QS of
  		<<>> -> <<>>;
  		_ -> << "?", QS/binary >>
  
negative.code: 		<<>> -> <<>>;
  		_ -> << "#", Fragment/binary >>
  	end,
  	{<< HostURL/binary, Path/binary, QS2/binary, Fragment2/binary >>, Req}.
  
  %% @equiv binding(Name, Req, undefined)
  -spec binding(atom(), Req) -> {binary() | undefined, Req} when Req::req().
  