yes, the HTTP state machine needs some more changes, and these are beyond me.
I changed it so that it make the correct calls to the cache, but it seems that
content-length of 0 is hard-wired into HttpSM as an error. The problem emerges
in this=0x7fffea3e01c0, event=103, c=0x7fffea3e1f40) at HttpSM.cc:3162
3157 // we got a truncated header from the origin server
3158 // but decided to accpet it anyways
3159 if (c->write_vio == NULL)
3160 *status_ptr = HttpTransact::CACHE_WRITE_ERROR;
3161 c->write_success = false;
3164 *status_ptr = HttpTransact::CACHE_WRITE_COMPLETE;
3165 c->write_success = true;
3166 c->write_vio = c->vc->do_io(VIO::CLOSE);
It seems that c->write_vio is NULL which causes the HttpSM to close the cache
with an error....
It is easy to test... just put a breakpoint in CacheVC::openWriteClose
The close should be without error.