Hello Warren,
> To use ExaProxy in place of SQUID to insert a line into the http header I would need to change the exaproxy.redirector.protocol from url to icap:://<uri>, is this correct?
> Where uri, could be any path or location, because it's not actually being used as an ICAP server at this stage?
Nearly correct. The ICAP <uri> is used when generating the ICAP REQMOD (it is the Host part of it), so at this point it does not matter much and can be anything. As the request are not sent to any remote server.
If you run exaproxy this way (from it tarball folder):
env \
exaproxy.redirector.enable=true \
exaproxy.redirector.protocol=icap://
example.com \
exaproxy.redirector.program=./etc/exaproxy/redirector/icap-google-to-others \
./sbin/exaproxy
And use chrome for example to go to
http://www.google.com you will find that your request have been intercepted to Wolfram|Alpha
I noticed that "exaproxy -h" was broken (a silly one liner bug - sigh !). So I fixed it and release version 1.0.5.
-h gives you information about every exaproxy option.
The documentation for the project is .. lacking .. so feel free to ask as many question as you want.
If you look at : ./etc/exaproxy/redirector/icap-safe-youtube. This does cookie manipulation to for "safe youtube".
You will want to do something similar. read the headers, modify them and return them with the ICAP header.
Thomas