anchor.diff:  	{ok, << 8:24, 6:8, 0:7, 1:1, 0:96 >>} = gen_tcp:recv(Socket, 17, 1000),
   	ok.
   
  -
  -
  -%% Tests still need to be added for the following points:
  -
  -%% @todo how to test this?
  -%3.2.1
  -%   A server decodes and interprets these values as it would any other
  -%   SETTINGS frame.
  -
  -%3.2
  -% @todo (maybe an option to disable HTTP/2?)
  -%   A server that does not support HTTP/2 can respond to the request as
  -%   though the Upgrade header field were absent
  -
  -%% @todo Do we reject "http" requests over TLS and "https" requests over TCP?
  -%% Yes, see 421 status code. But maybe some configuration is in order.
  -
  -%3.5
  -%% @todo yeah idk
  -%(if the upgrade failed and the connection send this before 101 then
  -% we should 400 and close the connection, but not sure how it can fail)
  -% @todo (maybe an option to disable HTTP/2?)
  -%	The client sends
  -%   the client connection preface immediately upon receipt of a 101
  -%   (Switching Protocols) response (indicating a successful upgrade)
  -
  -%% @todo
  -%3.5
  -%(big mess)
  -%   To avoid unnecessary latency, clients are permitted to send
  -%   additional frames to the server immediately after sending the client
  -%   connection preface, without waiting to receive the server connection
  -%   preface.  It is important to note, however, that the server
  -%   connection preface SETTINGS frame might include parameters that
  -%   necessarily alter how a client is expected to communicate with the
  -%   server.  Upon receiving the SETTINGS frame, the client is expected to
  -%   honor any parameters established.  In some configurations, it is
  -%   possible for the server to transmit SETTINGS before the client sends
  -%   additional frames, providing an opportunity to avoid this issue.
  +%% @todo If we ever add an option to disable HTTP/2, we need to check
  +%% the following things:
  +%% * HTTP/1.1 Upgrade returns an HTTP/1.1 response (3.2)
  +%% * HTTP/1.1 Upgrade errors out if the client sends HTTP/2 frames
  +%%   without waiting for the 101 response (3.2, 3.5)
  +%% * Prior knowledge handshake fails (3.4)
  +%% * ALPN selects HTTP/1.1 (3.3)
  
positive.code: 	ok.
  
  %% @todo We need a successful test with actual options in HTTP2-Settings.
  
  %% @todo We need to test an upgrade with a request body (small and too large).
  
  %% @todo Also assigned default priority values but not sure how to test that.
  http_upgrade_response(Config) ->
  	doc("A response must be sent to the initial HTTP/1.1 request "
  		"after switching to HTTP/2. The response must use "
  
negative.code: 	{ok, << 4:8, 0:40, _:Len/binary >>} = gen_tcp:recv(Socket, 6 + Len, 1000),
  	%% Send the SETTINGS ack.
  	ok = gen_tcp:send(Socket, cow_http2:settings_ack()),
  	%% Receive the SETTINGS ack, and the response HEADERS and DATA (Stream ID 1).
  	Received = lists:reverse(lists:foldl(fun(_, Acc) ->
  		case gen_tcp:recv(Socket, 9, 1000) of
  			{ok, << 0:24, 4:8, 1:8, 0:32 >>} ->
  