[Nitro] Bounty: Serverside (pure ruby http server) adapter for Nitro

Alex Pooley alex at msgpad.com
Sun Sep 3 22:11:43 EDT 2006

Thanks for the link. Firstly, it's nice to have another option. Still,
I'm intrigued... 

I wonder if they (or anyone else?) can actually substantiate the claim
that it is faster than Mongrel? Mongrel doesn't really do much, so where
could you improve? Mongrel even goes to the trouble of jumping to C to
partially pre-process requests.

Also, just flicking through the code (see below) it looks like you won't
get multiple name=>value pairs for query parameters and cookies. Also
converting everything to a symbol carries potential for leaking memory,
particularly when used in this way. That's a DOS waiting to happen
yeh? :(

Still, I'll be keeping my eye on ServerSide.

      # Parses query parameters by splitting the query string and
      # parameter values.
      def parse_parameters(query)
        query.split(Const::Ampersand).inject({}) do |m, i|
          if i =~ Const::ParameterRegexp
            m[$1.to_sym] = $2.uri_unescape
      # Parses cookie values passed in the request
      def parse_cookies
        @headers[Const::Cookie].split(Const::CookieSplit).inject({}) do |m, i|
          if i =~ Const::CookieRegexp
            m[$1.to_sym] = $2.uri_unescape

On Sat, 2006-09-02 at 22:07 +0200, Jonathan Buch wrote:
> Hi,
> very interesting: http://code.google.com/p/serverside/
> Just got that address from James Britt, really interesting....
> To quote him:  "Faster than Mongrel, but pure Ruby? Interesting ..."
> Adapter?  Anyone? :P
> Jo
Alex Pooley (msgpad founder)
w: http://msgpad.com
e: alex at msgpad.com
b: http://alexpooley.com

More information about the Nitro-general mailing list