The term "Server" causes some confusions since it sounds like Server implementations. These classes are to "Connect" Plack to Web servers. So we call this Handler. It is called in the same term in wsgiref and Rack, so I hope this is easier to understand for outsiders as well. I will commit the backward compatible layer in the next commit so the existing code, such as mod_perl configurations and CGI script that hardcodes "Plack::Server::CGI" would continue to work.
Per CGI/1.1 LF based separators are fine, but servers like lighttpd gets confused when headers are separated with LF but the body contains CRLF and mis-recognizes the boundary. Thanks to fcharlier for the report and typester to help me debugging nasty Test::Builder STDOUT autoflush that causes .t not be able to reproduce this bug.
…you don't want main event loop run