# File lib/puma/configuration.rb, line 84
    def app
      app = @options[:app]

      unless app
        unless File.exists?(rackup)
          raise "Missing rackup file '#{rackup}'"
        end

        app, options = Rack::Builder.parse_file rackup
        @options.merge! options

        options.each do |key,val|
          if key.to_s[0,4] == "bind"
            @options[:binds] << val
          end
        end
      end

      if !@options[:quiet] and @options[:environment] == "development"
        logger = @options[:logger] || STDOUT
        app = Rack::CommonLogger.new(app, logger)
      end

      return ConfigMiddleware.new(self, app)
    end