httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject Re: svn commit: r1725949 - /httpd/httpd/trunk/docs/manual/expr.xml
Date Thu, 21 Jan 2016 17:50:55 GMT
Am 21.01.2016 um 17:55 schrieb Jim Jagielski:
> even better!
> sounds cool.

First impl done in r1726038.

I guess you have everything in place to do a quick test? That would be nice.

svn log is:

Implement expr lookup in mod_proxy_hcheck for
variables whose names start with "HC_" and for
the new function hc().

Currently only HC_BODY and hc(body) are supported.
Both return the saved body of the health check
response to be used in an expr that decides about
success of a check.



>> On Jan 21, 2016, at 11:51 AM, Rainer Jung <> wrote:
>> Am 21.01.2016 um 17:03 schrieb Jim Jagielski:
>>> Did you want me to work on it, or are you?
>> I just had some late lunch and started to think closer about it. Since kept_body
was previously only used for request bodies, wouldn't it be nicer to *not* expose the HC response
body under that name in the expression parser, and instead register an expr extension from
HC which handles a new function, say hc(), with a first supported argument "body"? So hc(body)
returns whatever HC wants to.
>> You could still use the kept_body field in your impl (or some other place now or
later) but we wouldn't expose this implementation detail to the outside world.
>> I have already done an expr function extension in some custom module, it is pretty
easy to do (and httpd uses that feature e.g. in mod_ssl).
>> So yes, if you like I can do it. But do you like the idea?
>> Regards,
>> Rainer
>>>> On Jan 21, 2016, at 10:25 AM, Jim Jagielski <> wrote:
>>>> Sounds good to me!!
>>>> thx!
>>>>> On Jan 21, 2016, at 10:23 AM, Rainer Jung <>
>>>>> I should have asked earlier: wouldn't it be more suitable to implement
to response body as a variable instead of a function?
>>>>> When looking at server/util_expr_eval.c, I find request_var_names and
request_var_fn. The former is a list of variable names, and the latter implements returning
the values from parts of the request struct. Returning the flattened kept_body should be a
good fit there as well, without having users wonder, why it is a function that requires an
>>>>> If we expect further response stuff coming, we could also clone request_var_names
and request_var_fn with new response_var_names and response_var_fn and add the variable as
the first and currently only one there.
>>>>> The variable name could be KEPT_BODY.
>>>>> WDYT? I can also do the little reorg, but which way do we prefer?
>>>>> Regards,
>>>>> Rainer

View raw message