Content-Types outside of multipart, urlencoded and application/json will not be parsed automatically.

added 'run as user' option

SERVER_NAME and SERVER_PORT are set to values in HOST header

Cleaned up spec examples (Justin Ko)

moved logger into 'rack.logger' key to be more Rack compliant (Env#logger added to
keep original API consistent)

add command line option for specifying config file

HTTP_CONTENT_LENGTH and HTTP_CONTENT_TYPE were changed to CONTENT_TYPE and CONTENT_LENGTH
to be more Rack compliant

fix issue with loading config file in development mode

Rack::Reloader will be loaded automatically by the framework in development mode.

v0.9.0 (Mar 9, 2011)

(Initial Public Release)

Goliath is an open source version of the non-blocking (asynchronous) Ruby web server framework
powering PostRank. It is a lightweight framework designed to meet the following goals: bare
metal performance, Rack API and middleware support, simple configuration, fully asynchronous
processing, and readable and maintainable code (read: no callbacks).

The framework is powered by an EventMachine reactor, a high-performance HTTP parser and Ruby 1.9
runtime. One major advantage Goliath has over other asynchronous frameworks is the fact that by
leveraging Ruby fibers, it can untangle the complicated callback-based code into a format we are
all familiar and comfortable with: linear execution, which leads to more maintainable and readable code.

While MRI is the recommend platform, Goliath has been tested to run on JRuby and Rubinius.

Goliath has been in production at PostRank for over a year, serving a sustained 500 requests/s for
internal and external applications. Many of the Goliath processes have been running for months at
a time (read: no memory leaks) and have served hundreds of gigabytes of data without restarts. To
scale up and provide failover and redundancy, our individual Goliath servers at PostRank are usually
deployed behind a reverse proxy (such as HAProxy).