Mongrel 0.3.2 Strangely Silent


#1

I wanted to check out the latest ruby craze: Mongrel. So I installed
mongrel as a gem, whipped up a small example based on the docs. But no
joy. Running the script shows no output on the terminal and a browser
trying to load the url just keeps spinning the “in-progress” indicator.

Here’s the script:


#!/usr/bin/env ruby

require ‘mongrel’

class SimpleHandler < Mongrel::HttpHandler
def process(request, response)
response.start(200) do |head,out|
head[“Content-Type”] = “text/plain”
out.write(“hello!\n”)
end
end
end

h = Mongrel::HttpServer.new(“0.0.0.0”, “3030”)
h.register("/test", SimpleHandler.new)
h.register("/files", Mongrel::DirHandler.new("."))
h.run.join

The web addess I tried was http://localhost:3030. Also tried
http://traken:3030 (where traken is the name of the host). I also tried
using “localhost” explicitly in the script instead of “0.0.0.0”.

What am I missing here?


– Jim W.


#2

Jim W. wrote:

The web addess I tried was http://localhost:3030. Also tried
http://traken:3030 (where traken is the name of the host). I also tried
using “localhost” explicitly in the script instead of “0.0.0.0”.

Just to be clear … I also tried the http://localhost:3030/files and
http://localhost:3030/test too. Debugging prints added to the “process”
method in the script reveals that it never gets called.


– Jim W.


#3

Hey Jim,

Yeah, looks like I didn’t regression test the new timeout code outside
of
Ruby on Rails. Doh!

Your stuff should run if you do ruby -rtimeout for now. I’m posting a
new
release as we speak to include this one-line fix.

Thanks for catching it.

Zed


#4

Alright, fix is out. Grab the 0.3.3 release when you can (and when the
mirrors update) and try it all again.

Zed A. Shaw