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