They say that every programmer builds a web framework at some point. This one is
mine.
The basic idea behind this one is that I wanted a Sinatra for Go, and I couldn't
find one anywhere. Furthermore, net/http is in many ways really close to what I
want out of a Sinatra-in-Go, and many of the frameworks I did find seemed to
reinvent too much, or were incompatible with net/http in weird ways, or used too
much questionable reflection magic. So long story short, I wrote my own.
This implementation is only half-baked, and among other things it's missing a
whole lot of tests.
Package graceful provides graceful shutdown support for net/http servers,
net.Listeners and net.Conns. It does this through terrible, terrible hacks, but
"oh well!"
Package bind provides a convenient syntax for binding to sockets, as well as a
fair bit of magic to automatically Do The Right Thing in both development and
production.
Package param implements parameter parsing into a target struct (in much the
same way as encoding/json parses JSON into a struct). It targets the common
jQuery.param / Ruby on Rails style parameter serialization format.