Hello,

I believe there _might_ be a problem with Httpstst/Thttpcli 304
responses with no "connection" response header. However due to the
problem below, I am unable to test with the demos. Hope somebody could
help.

Regards,

SZ

On 5/25/09, Fastream Technologies <[email protected]> wrote:
> Hello,
>
> I see the code:
>
>    if(DateTimeEdit->Text != "")
>        SslHttpCli1->ModifiedSince = StrToDateTime(DateTimeEdit->Text);
>    else
>        SslHttpCli1->ModifiedSince = 0;
>
> in prepareconnection(). I am not sure what to enter to DateTimeEdit as
> it seems that what the server returns  as last-modified is not
> accepted--at least not in my locale. What do you suggest? I recall
> donating the function:
>
> function THttpMTConnection.RFCToDateTime(S:string):TDateTime;
> var
>   M,D,Y:Word;
>   H,N,Sc,T:Word;
>   Ch,CHtag:Char;
>   Ts:string;
>   PosCh:integer;
>
> begin
>   posch:=Pos(';',S);
>   if posch>0 then
>      delete(s,posCH,length(s)-posCh+1);
>   T:=0;
> try
>   Ch:=S[3];
> except
>   Result:=Now;
>   Exit;
> End;
>   S:=Uppercase(S);
>   if Ch=#32 then begin
>      Delete(S,1,4);
>      Ts:=Copy(S,1,Pos(#32,S)-1);
>      Delete(S,1,Length(TS));
>      S:=Trim(S);
>      M:=Pos(TS,#32#32'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC')div 3;
>      Ts:=Copy(S,1,Pos(#32,S)-1);
>      Delete(S,1,Length(TS)+1);
>      S:=Trim(S);
>      try
>         D:=StrToInt(TS);
>      except
>         D:=1;
>      end;
>      Ch:=S[3];
>      if Ch<>':' then begin
>         Ts:=Copy(S,1,Pos(#32,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            Y:=StrToInt(TS);
>         except
>            DecodeDate(Now,Y,T,T);
>            T:=0;
>         end;
>      end;
>      Ts:=Copy(S,1,Pos(':',S)-1);
>      Delete(S,1,Length(TS)+1);
>      S:=Trim(S);
>      try
>         H:=StrToInt(TS);
>      except
>         H:=0;
>      end;
>      Ts:=Copy(S,1,2);
>      Delete(S,1,Length(TS)+1);
>      S:=Trim(S);
>      try
>         N:=StrToInt(TS);
>      except
>         N:=0;
>      end;
>      Ts:=Copy(S,1,2);
>      Delete(S,1,Length(TS)+1);
>      S:=Trim(S);
>      try
>         Sc:=StrToInt(TS);
>      except
>         Sc:=0;
>      end;
>      if S<>'' then begin
>         Ch:=S[1];
>         if Ch in ['0'..'9'] then begin
>            try
>               Y:=StrToInt(S);
>            except
>               DecodeDate(Now,Y,T,T);
>               T:=0;
>            end;
>         end;
>      end;
>   end
>   else
>      if Ch=',' then begin// RFC 822 or RFC 1123
>         Delete(S,1,Pos(#32,S));
>         S:=Trim(S);
>         Ts:=Copy(S,1,Pos(#32,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            D:=StrToInt(TS);
>         except
>            D:=1;
>         end;
>         Ts:=Copy(S,1,Pos(#32,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         M:=Pos(TS,#32#32'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC')div 3;
>         Ts:=Copy(S,1,Pos(#32,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            Y:=StrToInt(TS);
>         except
>            DecodeDate(Now,Y,T,T);
>            T:=0;
>         end;
>         Ts:=Copy(S,1,Pos(':',S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            H:=StrToInt(TS);
>         except
>            H:=0;
>         end;
>         Ts:=Copy(S,1,2);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            N:=StrToInt(TS);
>         except
>            N:=0;
>         end;
>         Ts:=Copy(S,1,2);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            Sc:=StrToInt(TS);
>         except
>            Sc:=0;
>         end;
>      end
>      else begin// RFC 850 or RFC 1036
>         Delete(S,1,Pos(#32,S));
>         S:=Trim(S);
>         chtag:='-';
>         posCh:=Pos(chtag,S);
>         if (posCH>0)and(posCh<5) then
>            chtag:='-'
>         else
>            chtag:=' ';
>         Ts:=Copy(S,1,Pos(chtag,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            D:=StrToInt(TS);
>         except
>            D:=1;
>         end;
>         Ts:=Copy(S,1,Pos(chtag,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         M:=Pos(TS,#32#32'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC')div 3;
>         Ts:=Copy(S,1,Pos(#32,S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            Y:=StrToInt(TS);
>         except
>            DecodeDate(Now,Y,T,T);
>            T:=0;
>         end;
>         Ts:=Copy(S,1,Pos(':',S)-1);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            H:=StrToInt(TS);
>         except
>            H:=0;
>         end;
>         Ts:=Copy(S,1,2);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            N:=StrToInt(TS);
>         except
>            N:=0;
>         end;
>         Ts:=Copy(S,1,2);
>         Delete(S,1,Length(TS)+1);
>         S:=Trim(S);
>         try
>            Sc:=StrToInt(TS);
>         except
>            Sc:=0;
>         end;
>      end;
>   if Y<100 then begin
>      DecodeDate(Now,Y,T,T);
>   end;
>   try
>      Result:=EncodeDate(Y,M,D) + EncodeTime(H,N,Sc,T);
>   except
>      result:=now;
>   end;
> end;
>
> Why don't you use it?
>
> Regards,
>
> SZ
--
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