<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Alex,<div class=""><br class=""></div><div class="">Thanks for the feedback. Although I am not proficient in C for writing an ecap service, is there some binding available online for Go?</div><div class="">This was the reason I originally opted for an ICAP service since I can abstract Go behind the HTTP ICAP layer.</div><div class="">Now I understand this has its limitations, but AFAIK a preview cap at 100kb would be sufficient per request.</div><div class="">But this will slow down my current setup greatly, as I’m currently sending -only- the headers.</div><div class=""><br class=""></div><div class="">Would you think that a) using Go for the ecap adapter or b) using two ICAP services.</div><div class="">One would validate the headers and return OK or NOT (bypass=0), while the other only pushes the 1kb request/response to a queue.</div><div class="">Ideally those two would be contacted simultaneously while only the first one is blocking.</div><div class="">..just thinking aloud tough.</div><div class=""><br class=""></div><div class="">Regards,<div class=""><div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">Niels Hofmans<br class=""><br class="">SITE   <a href="https://ironpeak.be" class="">https://ironpeak.be</a><br class="">BTW   BE0694785660<br class="">BANK BE76068909740795</div>
</div>
<div><br class=""><div class="">On 4 Mar 2021, at 22:23, Alex Rousskov <<a href="mailto:rousskov@measurement-factory.com" class="">rousskov@measurement-factory.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On 3/4/21 2:52 PM, Niels Hofmans wrote:<br class=""><br class=""><blockquote type="cite" class="">is it possible to do full request/response logging?<br class=""></blockquote><br class="">Squid can log HTTP headers with %>h and %<h logformat codes.<br class=""><br class="">Squid cannot log HTTP message bodies.<br class=""><br class=""><br class=""><blockquote type="cite" class="">I do not see the appropriate log_format directive in the docs.<br class="">I was hoping not having to do this in my ICAP service since this slows<br class="">down approval of the HTTP request. (Empty preview v.s. a request capped<br class="">at 1MB that needs to be sent over every time)<br class=""></blockquote><br class="">FWIW, an ICAP or eCAP service can start responding to the request<br class="">_before_ the service receives the entire HTTP message body. To get<br class="">things going, all the service needs is HTTP headers (and even that is,<br class="">technically, optional in some cases).<br class=""><br class="">Using an adaptation service is still an overhead, of course, but, very<br class="">few legitimate Squid use cases involve logging message bodies, so there<br class="">is no built-in mechanism optimized for that specific rare purpose<br class="">(yet?). The fastest option available today is probably a dedicated eCAP<br class="">service that refuses to adapt the message bit continues to receive (and<br class="">log) the message body.<br class=""><br class=""><br class="">HTH,<br class=""><br class="">Alex.<br class="">_______________________________________________<br class="">squid-users mailing list<br class=""><a href="mailto:squid-users@lists.squid-cache.org" class="">squid-users@lists.squid-cache.org</a><br class="">http://lists.squid-cache.org/listinfo/squid-users<br class=""></div></div></div><br class=""></div></body></html>