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