Hi, all I have some issue with serving binary content through Cat using FastCGI engine. Sometimes in the server logs appears messages like ....FastCGI sent in stderr: "UTF-16 surrogate 0xd80f at /usr/lib/perl/5.8/IO/Handle.pm line 199"....
I think FCGI output stream is set to :utf8 somewhere. So I just need to binmode it to :raw. Sounds easy but I unable to find a way how to do that other then patch Engine::FastCGI. Actually what I found is that binmode doesn't help at all even if it placed in FastCGI.pm just before *STDOUT->syswrite(). What helped was change from syswrite() to write(). However there are notes in the .pm: "# FastCGI does not stream data properly if using 'print $handle', # but a syswrite appears to work properly." Placing 'no warnings "utf8"' just before the syswrite() call doesn't make sence too. The only way to I found is using write() instead of syswrite(). Is there a proper way to serve binary content with Catalyst? _______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
