Could you produce a clear explanation of the issue you are faced with instead of publishing long code no one has time to read ? -- [email protected] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be
----- Original Message ----- From: "Fastream Technologies" <[email protected]> To: "ICS support mailing" <[email protected]> Sent: Tuesday, May 26, 2009 2:15 PM Subject: Re: [twsocket] C++ THttpsTst demo code problem > 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 -- 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
