anchor.diff:  %
   %The upgrade header contains the list of protocols the
   %client wishes to upgrade to, in order of preference. (RFC7230 6.7)
  -%
  -%upgrade_safely_ignored(Config) ->
  -%The upgrade header can be safely ignored. (RFC7230 6.7)
  -%
  +
  +upgrade_safely_ignored(Config) ->
  +	doc("The upgrade header can be safely ignored. (RFC7230 6.7)"),
  +	#{code := 200} = do_raw(Config,
  +		"GET / HTTP/1.1\r\n"
  +		"Host: localhost\r\n"
  +		"Connection: upgrade\r\n"
  +		"Upgrade: websocket\r\n"
  +		"\r\n").
  +
   %upgrade_must_be_in_connection_header(Config) ->
   %The upgrade header must be listed under the connection header,
   %or must be ignored otherwise. (RFC7230 6.7)
  
positive.code: 	{error, timeout} = raw_recv(Client, 0, 1000),
  	ok.
  
  %```
  %TE = #t-codings
  %
  %t-codings = "trailers" / ( transfer-coding [ t-ranking ] )
  %t-ranking = OWS ";" OWS "q=" rank
  %rank = ( "0" [ "." 0*3DIGIT ] ) / ( "1" [ "." 0*3("0") ] )
  %```
  %
  %no_te_no_trailers(Config) ->
  %te_trailers(Config) ->
  %Trailers can only be sent if the request includes a TE header
  %containing "trailers". (RFC7230 4.1.2)
  %
  %te_ignore_chunked(Config) ->
  %te_ignore_chunked_0(Config) ->
  %The presence of "chunked" in a TE header must be ignored as it
  %is always acceptable with HTTP/1.1. (RFC7230 4.3)
  %
  %%% @todo te_not_acceptable_coding(Config) ->
  %A qvalue of 0 in the TE header means "not acceptable". (RFC7230 4.3)
  %
  
negative.code: %
  %The upgrade header field cannot be used for switching the
  %connection protocol (e.g. TCP) or switching connections. (RFC7230 6.7)
  
  %% Compatibility.
  
  %@todo
  %A server can choose to be non-conformant to the specifications
  %for the sake of compatibility. Such behavior can be enabled
  