Sha256: b2688851cca3391101ffac30fc2de86756b7407840e550c764ea430dde040426

Contents?: true

Size: 603 Bytes

Versions: 44

Compression:

Stored size: 603 Bytes

Contents

module Middleman
  class PreviewServer
    # Probe for tcp ports
    #
    # This one first tries `try_port` if this is not available use the free
    # port returned by TCPServer.
    class TcpPortProber
      # Check for port
      #
      # @param [Integer] try_port
      #   The port to be checked
      #
      # @return [Integer]
      #   The port
      def port(try_port)
        server = TCPServer.open(try_port)
        server.close

        try_port
      rescue
        server = TCPServer.open(0)
        port = server.addr[1]
        server.close

        port
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 3 rubygems

Version Path
middleman-core-4.6.0 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.5.1 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.5.0 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.4.3 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.4.2 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.4.0 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.11 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.10 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.8 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.7 lib/middleman-core/preview_server/tcp_port_prober.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/middleman-core-4.3.3/lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.6 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.5 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.4 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.3 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.2 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.1 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-4.3.0 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-with-external-sources-watch-fix-4.1.10 lib/middleman-core/preview_server/tcp_port_prober.rb
middleman-core-with-external-sources-watch-fix-4.1.0 lib/middleman-core/preview_server/tcp_port_prober.rb