Re: TIdHttpServer call from TIdHttp SSL

Giganews Newsgroups
Subject: Re: TIdHttpServer call from TIdHttp SSL
Posted by:  James (…
Date: Tue, 1 Jan 2008

By default, the server's IOHandler ReadTimeout is infinite. A workaround is
to set ReadTimeout to a definite value, which can be done in an overridden
TIdCustomTCPServer.ContextCreated method.

The problem lies in the fact that the HTTP server expects a certain format
to the incoming stream. It will wait up to ReadTimeout until the format
appears on the stream. The expected format is a ReadLn, then a Capture of
http headers, which ReadLn's until a '.' is found. The SSL stream from
TIdHttp probably doesn't contain the '.'.

Perhaps TIdCustomHttpServer's IOHandler should be checking for a proper
stream format while a ReadLn is made.


In response to

TIdHttpServer call from TIdHttp SSL posted by James on Mon, 31 Dec 2007