start

in lib/functions_framework/server.rb [83:109]


    def start
      synchronize do
        unless running?
          
          options = {
            min_threads: @config.min_threads,
            max_threads: @config.max_threads,
            environment: @config.show_error_details? ? "development" : "production"
          }
          
          events = ::Puma::Events.stdio if ::Puma::Events.respond_to? :stdio
          @server = ::Puma::Server.new @app, events, options
          if @server.respond_to? :min_threads=
            
            @server.min_threads = @config.min_threads
            @server.max_threads = @config.max_threads
            @server.leak_stack_on_error = @config.show_error_details?
          end
          @server.binder.add_tcp_listener @config.bind_addr, @config.port
          @config.logger.info "FunctionsFramework: Serving function #{@function.name.inspect} " \
                              "on port #{@config.port}..."
          @server.run true
        end
      end
      self
    end