[squid-users] Not Implemented error returned I believe due to chunking

Alex Rousskov rousskov at measurement-factory.com
Wed Mar 6 20:21:47 UTC 2019


On 3/6/19 1:00 PM, Russel McDonald wrote:

> I've indeed read a few forum links about just this issue, but confused
> as to whether chunking is supposed to finally work for 3.5.28

Chunked requests should be supported in all modern Squid versions,
including v3.5.28. There are some corner cases where dechunking code
fails, but they are very unlikely to affect you. I do not know what
forum links you have read, but I do not recall any general long-standing
problems with chunking support in modern Squids.


> If I instead only specify to pass the response to my adapter via
> ECAP then the issue goes away. So I captured the HTTP header for the 
> success case and the failure case and narrowed it down the the 
> failure case not specifying the length and specifying ",chunking" at
> the end.

Many adapters strip Content-Length header and effectively switch to
chunked encoding because it is easier and cheaper to adapt message
bodies that way. Does your eCAP adapter remove the Content-Length header
(possibly replacing it with Transfer-Encoding:chunked)? Such actions are
OK from HTTP point of view, but they may expose lack of chunked request
support at the _origin server_.


> I assume if the request is passed to the adapter then the header has
> to be constructed at a time when the length of the file contents is
> not known? Hence has to use chunking.

Squid does not "construct" that request header from scratch -- it
essentially forwards the request header sent by the client. If I
interpret your description correctly, the client sends a
Content-Length:N header, so the size of the request body (i.e. N bytes)
is known to Squid and, hence, to the REQMOD eCAP adapter in advance.

It is possible that your adapter strips that Content-Length header, and
then the origin server complains because it cannot handle chunked
requests. If that is what's happening, then you will need to seek
support from the adapter makers.

Alex.


More information about the squid-users mailing list