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