anchor.diff:  
   %% @doc Return the full list of query string values.
   -spec qs_vals(Req) -> {list({binary(), binary() | true}), Req} when Req::req().
  -qs_vals(Req=#http_req{raw_qs=RawQs, qs_vals=undefined,
  +qs_vals(Req=#http_req{qs=RawQs, qs_vals=undefined,
   		urldecode={URLDecFun, URLDecArg}}) ->
   	QsVals = cowboy_http:x_www_form_urlencoded(
   		RawQs, fun(Bin) -> URLDecFun(Bin, URLDecArg) end),
   	qs_vals(Req#http_req{qs_vals=QsVals});
   qs_vals(Req=#http_req{qs_vals=QsVals}) ->
   	{QsVals, Req}.
  -
  -%% @doc Return the raw query string directly taken from the request.
  --spec raw_qs(Req) -> {binary(), Req} when Req::req().
  -raw_qs(Req) ->
  -	{Req#http_req.raw_qs, Req}.
   
   %% @doc Return the request URL as a binary without the path and query string.
   %%
  
positive.code: url_test() ->
  	{<<"http://localhost/path">>, _ } =
  		url(#http_req{transport=ranch_tcp, host= <<"localhost">>, port=80,
  			path= <<"/path">>, raw_qs= <<>>, pid=self()}),
  	{<<"http://localhost:443/path">>, _} =
  		url(#http_req{transport=ranch_tcp, host= <<"localhost">>, port=443,
  			path= <<"/path">>, raw_qs= <<>>, pid=self()}),
  	{<<"http://localhost:8080/path">>, _} =
  		url(#http_req{transport=ranch_tcp, host= <<"localhost">>, port=8080,
  			path= <<"/path">>, raw_qs= <<>>, pid=self()}),
  	{<<"http://localhost:8080/path?dummy=2785">>, _} =
  		url(#http_req{transport=ranch_tcp, host= <<"localhost">>, port=8080,
  			path= <<"/path">>, raw_qs= <<"dummy=2785">>, pid=self()}),
  	{<<"https://localhost/path">>, _} =
  		url(#http_req{transport=ranch_ssl, host= <<"localhost">>, port=443,
  			path= <<"/path">>, raw_qs= <<>>, pid=self()}),
  	{<<"https://localhost:8443/path">>, _} =
  		url(#http_req{transport=ranch_ssl, host= <<"localhost">>, port=8443,
  			path= <<"/path">>, raw_qs= <<>>, pid=self()}),
  	{<<"https://localhost:8443/path?dummy=2785">>, _} =
  		url(#http_req{transport=ranch_ssl, host= <<"localhost">>, port=8443,
  			path= <<"/path">>, raw_qs= <<"dummy=2785">>, pid=self()}),
  	ok.
  
  -endif.
  
negative.code: path_info(Req) ->
  	{Req#http_req.path_info, Req}.
  
  %% @doc Return the raw query string directly taken from the request.
  -spec qs(Req) -> {binary(), Req} when Req::req().
  qs(Req) ->
  	{Req#http_req.qs, Req}.
  
  %% @equiv qs_val(Name, Req, undefined)
  -spec qs_val(binary(), Req)
  	-> {binary() | true | undefined, Req} when Req::req().
  