[squid-users] Display eCAP meta-information on Squid error-page

Alex Rousskov rousskov at measurement-factory.com
Tue Jun 5 16:19:25 UTC 2018

On 06/05/2018 09:48 AM, chgerber wrote:
>> logformat myLog ... adapter-decision=%{my-ecap-header}note ... 
>>  access_log ... myLog ..
> I tried this but it didn't work as it does with
> "%{my-ecap-header}adapt::<last_h".

If it does not work, then most likely there is a bug in your adapter, in
your Squid configuration, or in Squid.

> I am not sure if "my-ecap-header" is a
> really a header as I called it as I hand it over to squid as
> libecap::NamedValueVisitor when visitEachOption() is called. I guess it is
> an ecap option or ecap meta information rather than a header, right?

It is a meta-header or annotation, similar to the ICAP response header
(not to be confused with the HTTP header embedded in an ICAP response).

> I guess when you talk about ecap headers you mean http headers set by
> the eCAP adapter.
If I used the "ecap headers" terminology in this context, then I did not
mean the HTTP header. I meant the meta-header or annotation set by your
eCAP adapter via the libecap::Options API presented by your
libecap::adapter::Xaction implementation.

> Should the logging with %note and applying ACL also work with ecap meta
> information and am I doing something wrong or is this not supported with
> ecap meta information?

AFAIK, it is supported in modern Squids. It used to work when I last
tested it. I believe it is supported in v3.5 as well, but I have not
tested it recently.

> Source of confusion:
> "adapt::<last_h	The header of the last ICAP response or meta-information
> from the last eCAP transaction related to the HTTP transaction."
> http://www.squid-cache.org/Versions/v3/3.5/cfgman/logformat.html

That definition sounds correct to me. Once you figure it out, please
consider improving the documentation to be less confusing.

Thank you,


More information about the squid-users mailing list