def port(value = nil)
      if value
        @port = Integer(value)
      else
        return @port if defined?(@port)
        return @env.port unless @env.default_port?
        return DEFAULT_SSL_PORT if force_ssl
        @env.port
      end
    end
def port(value = nil)
      if value
        @port = Integer(value)
      else
        return @port if defined?(@port)
        return @env.port unless @env.default_port?
        return DEFAULT_SSL_PORT if force_ssl
        @env.port
      end
    end
The URI port for this application.
 This is used by the router helpers to generate absolute URLs.

 By default this value is `2300`.

 This is part of a DSL, for this reason when this method is called with
 an argument, it will set the corresponding instance variable. When
 called without, it will return the already set value, or the default.

 @overload port(value)
   Sets the given value
   @param value [#to_int] the URI port
   @raise [TypeError] if the given value cannot be coerced to Integer

 @overload scheme
   Gets the value
   @return [String]

 @since 0.1.0

 @see http://en.wikipedia.org/wiki/URI_scheme

 @example Getting the value
   require 'hanami'

   module Bookshelf
     class Application < Hanami::Application
     end
   end

   Bookshelf::Application.configuration.port # => 2300

 @example Setting the value
   require 'hanami'

   module Bookshelf
     class Application < Hanami::Application
       configure do
         port 8080
       end
     end
   end

   Bookshelf::Application.configuration.port # => 8080