# File lib/mongrel.rb, line 552
552:     def process(request, response)
553:       req = can_serve request.params['PATH_INFO']
554:       if not req
555:         # not found, return a 404
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