On 6/1/22 12:44 PM, Yann Ylavic wrote:
> On Wed, Jun 1, 2022 at 12:39 PM Ruediger Pluem <rpl...@apache.org> wrote:
>>
>> On 6/1/22 11:56 AM, yla...@apache.org wrote:
>>>
>>> +    /* Compute Host header */
>>>      if (dconf->preserve_host == 0) {
>>>          if (ap_strchr_c(uri->hostname, ':')) { /* if literal IPv6 address 
>>> */
>>>              if (uri->port_str && uri->port != DEFAULT_HTTP_PORT) {
>>> @@ -3994,10 +3992,11 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbr
>>>                  host = uri->hostname;
>>>              }
>>>          }
>>> +        apr_table_setn(r->headers_in, "Host", host);
>>>      }
>>>      else {
>>> -        /* don't want to use r->hostname, as the incoming header might 
>>> have a
>>> -         * port attached
>>> +        /* don't want to use r->hostname as the incoming header might have 
>>> a
>>> +         * port attached, let's use the original header.
>>>           */
>>>          host = saved_host;
>>>          if (!host) {
>>> @@ -4007,10 +4006,9 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbr
>>>                            "on incoming request and preserve host set "
>>>                            "forcing hostname to be %s for uri %s",
>>>                            host, r->uri);
>>> +            apr_table_setn(r->headers_in, "Host", host);
>>>          }
>>>      }
>>
>> Nitpick: Can't we do the apr_table_setn(r->headers_in, "Host", host); here 
>> instead of in each if/else branch?
> 
> This is a small optimization where if we reuse the existing Host
> header (saved_host) we don't need to set it again.
> But if it harms readability I can certainly change it as you say.

No worries. Leave it as is then. I vote for the performance benefit over the 
readability benefit in this case :-)

Regards

RĂ¼diger

Reply via email to