anchor.diff:  			{"/", http_handler, []}
   		]}
   	]).
  -
  -%% Callbacks.
  -
  -do_etag_gen(_, _, _) ->
  -	{strong, <<"etag">>}.
  -
  -do_mimetypes_text_html(_) ->
  -	<<"text/html">>.
   
   %% Convenience functions.
   
  
positive.code: 	{_, 408, _, _} = cow_http:parse_status_line(Data),
  	ok.
  
  static_attribute_etag(Config) ->
  	ConnPid = gun_open(Config),
  	Ref1 = gun:get(ConnPid, "/static_attribute_etag/index.html"),
  	Ref2 = gun:get(ConnPid, "/static_attribute_etag/index.html"),
  	{response, nofin, 200, Headers1} = gun:await(ConnPid, Ref1),
  	{response, nofin, 200, Headers2} = gun:await(ConnPid, Ref2),
  	{_, ETag} = lists:keyfind(<<"etag">>, 1, Headers1),
  	{_, ETag} = lists:keyfind(<<"etag">>, 1, Headers2),
  	true = ETag =/= undefined,
  	ok.
  
  static_function_etag(Config) ->
  	ConnPid = gun_open(Config),
  	Ref1 = gun:get(ConnPid, "/static_function_etag/index.html"),
  	Ref2 = gun:get(ConnPid, "/static_function_etag/index.html"),
  	{response, nofin, 200, Headers1} = gun:await(ConnPid, Ref1),
  	{response, nofin, 200, Headers2} = gun:await(ConnPid, Ref2),
  	{_, ETag} = lists:keyfind(<<"etag">>, 1, Headers1),
  	{_, ETag} = lists:keyfind(<<"etag">>, 1, Headers2),
  	true = ETag =/= undefined,
  	ok.
  
  static_mimetypes_function(Config) ->
  	ConnPid = gun_open(Config),
  	Ref = gun:get(ConnPid, "/static_mimetypes_function/index.html"),
  	{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
  	{_, <<"text/html">>} = lists:keyfind(<<"content-type">>, 1, Headers),
  	ok.
  
  static_specify_file(Config) ->
  	ConnPid = gun_open(Config),
  	Ref = gun:get(ConnPid, "/static_specify_file"),
  	{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
  	{_, <<"text/css">>} = lists:keyfind(<<"content-type">>, 1, Headers),
  	{ok, <<"body{color:red}\n">>} = gun:await_body(ConnPid, Ref),
  	ok.
  
  static_specify_file_catchall(Config) ->
  	ConnPid = gun_open(Config),
  	Ref = gun:get(ConnPid, "/static_specify_file/none"),
  	{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
  	{_, <<"text/css">>} = lists:keyfind(<<"content-type">>, 1, Headers),
  	{ok, <<"body{color:red}\n">>} = gun:await_body(ConnPid, Ref),
  	ok.
  
  static_test_file(Config) ->
  	ConnPid = gun_open(Config),
  	Ref = gun:get(ConnPid, "/static/unknown"),
  	{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
  	{_, <<"application/octet-stream">>} = lists:keyfind(<<"content-type">>, 1, Headers),
  	ok.
  
  static_test_file_css(Config) ->
  	ConnPid = gun_open(Config),
  	Ref = gun:get(ConnPid, "/static/style.css"),
  	{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
  	{_, <<"text/css">>} = lists:keyfind(<<"content-type">>, 1, Headers),
  	ok.
  
  te_chunked(Config) ->
  	Body = list_to_binary(io_lib:format("~p", [lists:seq(1, 100)])),
  	ConnPid = gun_open(Config),
  
negative.code: 				[{headers, #{<<"server">> => <<"DesireDrive/1.0">>}}]},
  			{"/set_resp/body", http_set_resp,
  				[{body, <<"A flameless dance does not equal a cycle">>}]},
  			{"/handler_errors", http_errors, []},
  			{"/echo/body", http_echo_body, []},
  			{"/echo/body_qs", http_body_qs, []},
  			{"/crash/content-length", input_crash_h, content_length},
  