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