559: def process(request, response)
560: req = can_serve request.params['PATH_INFO']
561: if not req
562:
563: response.start(404) do |head,out|
564: out << "File not found"
565: end
566: else
567: begin
568: if File.directory? req
569: send_dir_listing(request.params["REQUEST_URI"],req, response)
570: else
571: send_file(req, response)
572: end
573: rescue => details
574: response.reset
575: response.start(403) do |head,out|
576: out << "Error accessing file: #{details}"
577: out << details.backtrace.join("\n")
578: end
579: end
580: end
581: end