Hello,

I am unable to debug the ICS code from within my BCB project--as you may
remember. But this gets very annoying--with keep-alive, users of the proxy
cannot browse more than 1 or 2 chunked encoded pages. They see empty page
since onheaderend is called after "0 \r\n". I know in HEAD this body part
must not be sent yet this is Apache and we need to tolerate it.

Francois, can you take a look at the problem please?
Best Regards,

SZ
On Wed, May 28, 2008 at 10:35 AM, Fastream Technologies <[EMAIL PROTECTED]>
wrote:

> I tested Arno's lastest code. It SEEMED to work in the first tries. YET,
> when you click first HEAD and then GET, (very fast), it gets LastResponse as
> "0  \r\n". After this, Onheaderend is called which spoils everything. That
> is the BIG problem.
>
> Regards,
>
> SZ
>
>   On Wed, May 28, 2008 at 10:09 AM, Fastream Technologies <
> [EMAIL PROTECTED]> wrote:
>
>> Hi,
>>
>> I understand all except this line:
>>
>>                    StateChange(httpWaitingBody);                     //AG
>> 05/27/08
>> since this is HEAD, why do we wait for body?
>> Best Regards,
>>
>> SZ
>>   On Tue, May 27, 2008 at 11:03 PM, Arno Garrels <[EMAIL PROTECTED]>
>> wrote:
>>
>>> Arno Garrels wrote:
>>> > From a brief test, the server sends body data even though it got a
>>> > HEAD-request, the following modification may help?
>>>
>>> This one may work better, if not, Francois or someone with more
>>> HttpCli-experience should look at it:
>>>
>>>        { FContentLength = -1 when server doesn't send a value }
>>>        if ((FContentLength = -1) and            { Added 12/03/2004 }
>>>            (FTransferEncoding <> 'chunked') and { Added 09/10/2006 by FP
>>> }
>>>            ((FStatusCode < 200) or              { Added 12/03/2004 }
>>>             (FStatusCode = 204) or              { Added 12/03/2004 }
>>>             (FStatusCode = 301) or              { Added 06/10/2004 }
>>>             (FStatusCode = 302) or              { Added 06/10/2004 }
>>>             (FStatusCode = 304) or              { Added 12/03/2004 }
>>>             (FStatusCode = 401) or              { Added 12/28/2005 } //AG
>>> 12/28/05
>>>             (FStatusCode = 407)))               { Added 12/28/2005 } //AG
>>> 12/28/05
>>>           or
>>>            (FContentLength = 0)
>>>           or
>>>            (FRequestType = httpHEAD) then begin
>>>            { TriggerHeaderEnd;  }{ Removed 10/01/2004 }
>>>                if {(FResponseVer = '1.0') or (FRequestVer = '1.0') or}
>>>                { [rawbite 31.08.2004 Connection controll] }
>>>                FCloseReq then begin
>>>                    if FLocationFlag then          { Added 16/02/2004 }
>>>                        StartRelocation            { Added 16/02/2004 }
>>>                    else begin                     { Added 16/02/2004 }
>>>                        if FRequestType = httpHEAD then begin { Added
>>> 23/07/04 }
>>>                            { With HEAD command, we don't expect a
>>> document }
>>>                            { but some server send one !
>>>  }
>>>                            FReceiveLen := 0;      { Cancel received data
>>>   }
>>>                            StateChange(httpWaitingBody);
>>>                            FNext := nil;
>>>                        end;
>>>                        FCtrlSocket.CloseDelayed;  { Added 10/01/2004 }
>>>                    end;
>>>                end
>>>                else if FRequestType = httpHEAD then begin            //AG
>>> 05/27/08
>>>                    { With HEAD command, we don't expect a document } //AG
>>> 05/27/08
>>>                    { but some server send one !                    } //AG
>>> 05/27/08
>>>                    FReceiveLen := 0;      { Cancel received data   } //AG
>>> 05/27/08
>>>                    StateChange(httpWaitingBody);                     //AG
>>> 05/27/08
>>>                    FNext := nil;                                     //AG
>>> 05/27/08
>>>                    SetReady;
>>>                end;                                                  //AG
>>> 05/27/08
>>>            Exit;
>>>        end;
>>>        DocExt := LowerCase(ExtractFileExt(FDocName));
>>>
>>>  --
>>> To unsubscribe or change your settings for TWSocket mailing list
>>> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
>>> Visit our website at http://www.overbyte.be
>>>
>>
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to