Thats a gloriously insane way of trying to do HTTP/1.1, and one I'm not
sure is actually viable in the real world because the TCP window may be
smaller than the number of bytes required to find a Host: header - so you
may simply not be able to receive it via MSG_PEEK. In particular mobile
phone gateways have a nasty habit of using very small windows.
I don't either, and while I don't agree that what you are doing for
HTTP/1.1 is remotely sane there are probably other cases this would be
both sane and useful which does suggest fixing it would be beneficial
--