From: Tanner Burson Date: 2006-02-03T23:41:34+09:00 Subject: Re: [ANN] Mongrel HTTP Library 0.2.2 (Serving Directories) ------=_Part_5203_20381648.1138977675536 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 2/3/06, Tanner Burson wrote: > > > > 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 > get it to actually LOAD correctly. Any help would be great. > > Sorry for the double post, but as it turns out I get an Identical error on my Debian box as well, so something in the install seems to be a bit fubar'd. -- =3D=3D=3DTanner Burson=3D=3D=3D tanner.burson@gmail.com http://tannerburson.com <---Might even work one day... ------=_Part_5203_20381648.1138977675536--