lib/teaspoon/server.rb in teaspoon-1.1.1 vs lib/teaspoon/server.rb in teaspoon-1.1.2
- old
+ new
@@ -2,13 +2,14 @@
require "timeout"
require "webrick"
module Teaspoon
class Server
- attr_accessor :port
+ attr_accessor :port, :host
def initialize
+ @host = Teaspoon.configuration.server_host || "127.0.0.1"
@port = Teaspoon.configuration.server_port || find_available_port
end
def start
return if responsive?
@@ -22,18 +23,18 @@
rescue => e
raise Teaspoon::ServerError.new(desc: e.message)
end
def responsive?
- TCPSocket.new("127.0.0.1", port).close
+ TCPSocket.new(host, port).close
true
rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
false
end
def url
- "http://127.0.0.1:#{port}"
+ "http://#{host}:#{port}"
end
protected
def wait_until_started(thread)
@@ -52,19 +53,20 @@
end
def rack_options
{
app: Rails.application,
+ Host: host,
Port: port,
environment: "test",
AccessLog: [],
Logger: Rails.logger,
server: Teaspoon.configuration.server
}
end
def find_available_port
- server = TCPServer.new("127.0.0.1", 0)
+ server = TCPServer.new(host, 0)
server.addr[1]
ensure
server.close if server
end
end