Forum: Ruby on Rails [ANN] Mongrel HTTP Library 0.2.2 (Serving Directories)

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8c43ed7f065406bf171c0f3eb32cf615?d=identicon&s=25 Zed Shaw (Guest)
on 2006-02-03 08:21
(Received via mailing list)
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.

== 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.

== 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.

== The DirHandler

The really simple DirHandler is used like this (from the examples/
simpletest.rb file):

h = 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.


== 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/
29b15f133c26b6dac0e4954d61733db9?d=identicon&s=25 Larry Kelly (Guest)
on 2006-02-04 01:17
(Received via mailing list)
So, to clarify for us windows types, if I run

gem install mongrel

on my windows box, I still need to find someone with a MicroSoft C
compiler
to build it before I can use it ??

Is that right?
-Larry

On 2/2/06, Zed Shaw <zedshaw@zedshaw.com> wrote:
>
>
> * Forced the sockets to not do reverse name lookup (huge performance
> == The DirHandler
> path you give it so that when requests come in, it can expand them
>
>
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>



--
Best Regards,
-Larry
"Work, work, work...there is no satisfactory alternative."
            --- E.Taft Benson
8c43ed7f065406bf171c0f3eb32cf615?d=identicon&s=25 Zed Shaw (Guest)
on 2006-02-04 01:35
(Received via mailing list)
Yes, I'm going to try building pre-compiled gems for win32 and OSX
this weekend (to coincide with the next release).

Zed A. Shaw
http://www.zedshaw.com/
29b15f133c26b6dac0e4954d61733db9?d=identicon&s=25 Larry Kelly (Guest)
on 2006-02-04 14:08
(Received via mailing list)
That sounds wonderfull.  I love you're agressive release cycle!
-Larry

On 2/3/06, Zed Shaw <zedshaw@zedshaw.com> wrote:
> >
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>



--
Best Regards,
-Larry
"Work, work, work...there is no satisfactory alternative."
            --- E.Taft Benson
This topic is locked and can not be replied to.