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