From: Tanner Burson Date: 2006-02-03T23:39:00+09:00 Subject: Re: [ANN] Mongrel HTTP Library 0.2.2 (Serving Directories) ------=_Part_5175_1244389.1138977525411 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 2/3/06, Zed Shaw wrote: > > Hey Folks, > > Another announcement of Mongrel -- the fastest little web server > library for Ruby yet. This release is nice in that it should build > on win32 better and it now sports a small DirHandler that can serve > directories and files. This means Mongrel is closer to replacing > WEBrick as a Rails debug runner. > > You can get the releases and information from: > > * http://rubyforge.org/projects/mongrel/ -- project page > * http://mongrel.rubyforge.org/ -- RDoc documentation. > > =3D=3D Install and Upgrade > > People who use(d) RubyGems can simply do: > > gem install mongrel > > -or- > > gem upgrade > > And they'll get the new gear. You can go back to the project page > and download the source .tgz if you installed using that. > > =3D=3D Changes > > * Fixed a header so that win32 folks can build it. > * Added all CGI parameters that didn't cause security or performance > problems. > * Forced the sockets to not do reverse name lookup (huge performance > hit for little benefit). > * Created a REQUEST_URI parameter that has the original untouched URI > used in the request. This is the string used to lookup the handlers > and create the SCRIPT_NAME and PATH_INFO parameters. > * Implemented a basic directory serving handler called DirHandler. > It will serve files in a directory, print a simple directory listing, > and tries to protect against malicious path requests. > * Some minor code clean-ups and additional documentation regarding > constants used. > > =3D=3D The DirHandler > > The really simple DirHandler is used like this (from the examples/ > simpletest.rb file): > > h =3D Mongrel::HttpServer.new("0.0.0.0", "3000") > h.register("/files", Mongrel::DirHandler.new(".")) > h.run.join > > This simply sets things up so that when people go to /files, they get > the contents of the current directory. The DirHandler expands the > path you give it so that when requests come in, it can expand them > too and make sure that both paths have the same prefix. If not it > will reject them. There is also an option to turn off the directory > listings using the second parameter to DirHandler.new(). > > This initial file serving is very simplistic since it doesn't map > extensions to mime types yet. It should be a good start for some > people though. > > > =3D=3D Feedback > > Thanks for all the feedback and bug reports so far. With directory > serving and complete CGI parameters out of the way I'm going to start > working on a Rails runner using Mongrel next, and possibly a caching > system. Goal for the weekend will be to get a Rails application > running in Mongrel standalone. > > Enjoy! > > Zed A. Shaw > http://www.zedshaw.com/ > > > > Like Daniel Sheppard in the previous version I'm getting errors when attempting the following on windows: irb(main):001:0> require_gem 'mongrel' =3D> true irb(main):002:0> p Mongrel NameError: uninitialized constant Mongrel from (irb):2 irb(main):003:0> Looking at the gem install itself, everything seems to have been created correctly. I have a mongrel.rb in mongrel's lib dir, just can't seem to ge= t it to actually LOAD correctly. Any help would be great. -- =3D=3D=3DTanner Burson=3D=3D=3D tanner.burson@gmail.com http://tannerburson.com <---Might even work one day... ------=_Part_5175_1244389.1138977525411--