The easiest workaround is to trigger event OnHeaderData in
GetHeaderLineNext right before FLastResponse is added to
FRcvdHeader. OnHeaderData could get a new var parameter,
that is filled with FLastResponse.
Or we simply make property LastResponse writeable which
won't even require a change of event OnHeaderData.
This would allow modification of any headerline before
the component takes any action.
1)
procedure THttpTestForm.HttpCli1HeaderData(
Sender : TObject;
var HdrLine : String);
begin
if Pos('Location: ', hdrLine) = 1 then
hdrLine := Change(hdrLine);
end;
2)
procedure THttpTestForm.HttpCli1HeaderData(
Sender : TObject);
begin
if Pos('Location: ', THttpCli(Sender).LastResponse) = 1 then
THttpCli(Sender).LastResponse := Change(THttpCli(Sender).LastResponse);
end;
Arno Garrels wrote:
> Frans van Daalen wrote:
>> From: "Arno Garrels"
>>>
>>> Instead the component should provide access to parts of a URL,
>>> either by var-parameters in event OnLocationChange
>>
>> As said before the OnLocationChange is to late. That event is
>> triggered just before the relocate will execute. All properties of
>> the thttpcli are then already set. Therefor my proposal for a new
>> event
>>
>> -----------------
>> 2) A new event OnRelocationRecieved(data : String; Accept : Boolean)
>> to be called around line 2675 (procedure getheaderlinenext)
>> -----------------
>
> I don't see any reason why we need three different relocation events,
> most likely the same can be achieved with one single event.
>
> --
> Arno Garrels [TeamICS]
> http://www.overbyte.be/eng/overbyte/teamics.html
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be