forked from postrank-labs/goliath
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HISTORY
50 lines (37 loc) · 2.41 KB
/
HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
HISTORY
=======
v0.9.1 (Apr 12, 2011)
---------------------
- Added extra messaging around the class not matching the file name (Carlos Brando)
- Fix issue with POST parameters not being parsed by Goliath::Rack::Params
- Added support for multipart encoded POST bodies
- Added support for parsing nested query string parameters (Nolan Evans)
- Added support for parsing application/json POST bodies
- 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).