anchor.diff:      {state, HandlerState}
     ]).
   
  -proxy_terminate(Req, #state{handler=Handler, handler_state=HandlerState}) ->
  +proxy_terminate(Req, #state{handler = Handler, handler_state = HandlerState}) ->
     case erlang:function_exported(Handler, proxy_terminate, 2) of
       true -> ok = Handler:proxy_terminate(
         cowboy_req:lock(Req), HandlerState);
  
positive.code: 
    res_status :: integer(),
    res_headers = [] :: [{iolist(), iolist()}],
  
    res_body_fun :: fun(),
    res_sent_bytes = 0 :: integer(),
    length = 0
  }).
  
  %% Test App.
  
  start() ->
    ok = application:start(crypto),
    ok = application:start(sasl),
    ok = application:start(ranch),
    ok = application:start(cowboy),
    ok = application:start(ranger).
  
  %% @doc Upgrade a HTTP request to the proxy protocol.
  %%
  
negative.code: normalize_backend({Proto, Host}) when is_atom(Proto) ->
    {Proto, Host, 443, <<>>}.
  
  type_from_proto(http) ->
    tcp;
  type_from_proto(https) ->
  