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