anchor.diff:        no_call
     end.
   
  +exported(_Req, _State = #state{handler=Handler}, Callback, Arity) ->
  +  erlang:function_exported(Handler, Callback, Arity).
  +
   next(Req, State, Next) when is_function(Next) ->
     Next(Req, State);
   next(Req, State, StatusCode) when is_integer(StatusCode) ->
     respond(Req, State, StatusCode).
  +
  +send(Req, State = #state{conn = Conn}, Data, OnOK) ->
  +  case gen_tcp:send(Conn, Data) of
  +    ok ->
  +      OnOK(Req, State);
  +    {error, _Error} ->
  +      next(Req, State, 502)
  +  end.
   
   respond(Req, State, StatusCode) ->
     {ok, Req2} = cowboy_req:reply(StatusCode, Req),
  
positive.code:       format_header(Name, Value)
    end || {Name, Value} <- ReqHeaders],
  
    case gen_tcp:send(Conn, [FormattedHeaders, <<"\r\n">>]) of
      ok ->
        next(Req, State, fun req_body/2);
      {error, _Error} ->
        next(Req, State, 502)
    end.
  
  req_body(Req, State) ->
    respond(Req, State, 200).
  
  % internal
  
  
negative.code:       next(Req2, State2, fun send_req_headers/2)
    end.
  
  send_req_headers(Req, State=#state{req_headers=ReqHeaders, backend=Backend}) ->
    FormattedHeaders = [case Name of
      <<"host">> ->
        format_header(Name, format_host_header(Backend));
  