internal API changes in Unicorn 2.x

Eric Wong normalperson at
Fri Oct 8 17:37:30 EDT 2010

Here's a non-exhaustive list of internal API changes for Unicorn 2.x.

This will NOT affect most users, only those who use/rely on the
undocumented API which we've never recommended people to use.

This mainly affects Rainbows!  development.  Nearly all of these changes
are to make life easier for Rainbows! which Unicorn 2.x is intended to

* Util.tmpio ->

* HttpParser and HttpRequest become the same class
  - not finalized, yet, one name will go away, probably in 3.x
  - the Rack "env" hash and "buf" String buffer belong
    to the C struct since they're always used together
  - the outward API should be mostly compatible with 1.1.x
  - PARSER, BUF, REQ constants removed from HttpRequest,
    the new HttpParser holds all these on a per-socket basis
  - HttpParser#parse method added to work on the env/buf

* takes only two parameters, socket and the
  parser/request object

* HttpRequest::LOCALHOST constant removed, use Kgio::LOCALHOST

* RACK_INPUT and REMOTE_ADDR constants moved from Const to HttpRequest
  since they're unused outside of HttpRequest

If there are other apps/libraries who depend on some things we changed
and you really can't have it any other way, we _may_ try to accomodate
you if it's not too much effort.

Eric Wong

More information about the mongrel-unicorn mailing list