ggp-org/ggp-base — pull request #51 by matt-thomson (2014-04-18 11:37:39+00:00)
Title: HTTP uses CR+LF to separate lines

When HttpWriter sends an HTTP message, it uses the system's default line separator to separate lines. On Unix systems, this is typically an LF character.

However, the HTTP protocol mandates that lines are separated by CR+LF - see [RFC 2616, section 4.1](http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html). Some HTTP servers accept messages that use just LF, whereas some don't (and, given the RFC, there is no requirement for them to be). My player runs on Heroku, which doesn't accept these malformed messages. This means that none of the GGP projects can connect to it (including Gamemanager, Tiltyard, and the GUI applications in ggp-base).

The fix is simply to build all HTTP messages with CR+LF separators. This fixes my player, and Test_Http still runs correctly.