Arno,
Instead of making a demo, I have a question and an idea: Please
examine the code below and read the comments:
procedure THttpCli.GetHeaderLineNext;
...
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 THIS
WORKS PERFECTLY BUT..}
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; //AG
05/27/08 WHY IS THIS? INSTEAD I PROPOSE:
FCtrlSocket.CloseDelayed; { Added 05/17/2009 Fastream
/ Subzero }
end //AG 05/27/08
This solves my problem. If it is ok for you as well, please apply this
fix to the component.
Best Regards,
SZ
On 5/16/09, Arno Garrels <[email protected]> wrote:
> Fastream Technologies wrote:
> > Hello Arno,
> >
> > The reason is when the state is httpReady, it is not yet ready in some
> > cases, that is a misleading state machine state (IMHO).
>
> If that's so clear, why don't you provide a simple test case that shows
> the issue in actions?
>
> >
> > ASAP I will try the postmessage and let you know if it is ok for my
> > case here. I believe I did this a few weeks ago but not sure so will
> > retry in case...
>
> That won't tell me anything really useful, regardless whether your
> application worked after this change or not.
>
> --
>
> Arno Garrels
>
> --
--
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