after finding this solution to Paul Graham's 'said' problem 
(http://arclanguage.org/item?id=722):


case r.qs
when '': isindex
when /^@/: r.qs.tail
else a'follow',:href =>'?@'+r.qs
end

i noticed it was broken if you use a space!

theres this line in DirHandler#can_serve:
  req_path = HttpRequest.unescape(path_info)

which was modifying the path i sent in..

via
req.params["PATH_INFO"] = '/some/file/path'
Mongrel::DirHandler.new(nil,false).process(req,resp)

which when you think about it. modifying the requests param hash afterwards? 
about as kosher as an Al Pastor burrito

its just that so far its the easiest way to take advantage of the good bits in 
the dirhandler that check a file against ETAGs and If-modified and 
conditionally serve.

which is seperate logically from the 'unescape incoming request' and 'generate 
dirlisting' stuff, but all in one big ball of mud at the moment..


Zed told me on Fri, 1 Dec 2006 13:12:02 -0500

"DirHandler, being a DIR handler and not a FILE handler"

and he's still right.. 


if there isnt one, its easier to just steal the 10 or so lines from dirhandler 
im needing and throw them into an ebb handler, since that way i dont have to 
worry about breaking other peoples apps by submitting a patch.. and 
simultaneously bypass all sorts of other code im not using in the process.

 so does a FileHandler already exist?
_______________________________________________
Mongrel-users mailing list
Mongrel-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to