I have written a server daemon (Linux, Ubuntu) which communicates with PHP as frontend layer.
Recently, i updated both FPC and the Indy library to its FPC 2.6.0 and Indy to the trunk version (before i was using the Tiburon branch).
All compiled, and everything looked fine, but, when writing to an IOHandler, nothing gets received (by the PHP client), the client will report that 0 bytes were received.
After diving into the problem, i saw that when using the write methods from the IOHandler, the encoding is validated and converted before the response is sent, in the ToBytes() method in IdGlobal.pas.
Now if i comment out the conversion lines in the ToBytes() routines;
if ASrcEncoding <> ADestEncoding then begin
LBytes := TIdTextEncoding.Convert(ASrcEncoding, ADestEncoding, LBytes);
This time, the PHP client receives the response.
My question is, how can i configure my Indy tcp server or IOHandlers to stop encoding the data ?