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