From a945a658188d4cd8ac04f919ec2d0e0dc59e01e0 Mon Sep 17 00:00:00 2001 From: Florian Thomas Date: Tue, 4 Oct 2016 20:39:36 +0200 Subject: [PATCH] refactor to use `server_address` --- lib/jekyll/commands/serve.rb | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/jekyll/commands/serve.rb b/lib/jekyll/commands/serve.rb index c3b99cba..d8f5890c 100644 --- a/lib/jekyll/commands/serve.rb +++ b/lib/jekyll/commands/serve.rb @@ -104,7 +104,12 @@ module Jekyll def start_up_webrick(opts, destination) server = WEBrick::HTTPServer.new(webrick_opts(opts)).tap { |o| o.unmount("") } server.mount(opts["baseurl"], Servlet, destination, file_handler_opts) - Jekyll.logger.info "Server address:", server_address(server, opts) + Jekyll.logger.info "Server address:", server_address( + server.config[:SSLEnable], + server.config[:BindAddress], + server.config[:Port], + opts["baseurl"] + ) launch_browser server, opts if opts["open_url"] boot_or_detach server, opts end @@ -124,23 +129,25 @@ module Jekyll # private - def server_address(server, opts) + def server_address(prefix, address, port, baseurl = nil) format("%{prefix}://%{address}:%{port}%{baseurl}", { - :prefix => server.config[:SSLEnable] ? "https" : "http", - :baseurl => opts["baseurl"] ? "#{opts["baseurl"]}/" : "", - :address => server.config[:BindAddress], - :port => server.config[:Port] + :prefix => prefix ? "https" : "http", + :address => address, + :port => port, + :baseurl => baseurl ? "#{baseurl}/" : "" }) end # + private def default_url(opts) config = configuration_from_options(opts) - host = config["host"] == "127.0.0.1" ? "localhost" : config["host"] - port = config["port"] - protocol = config["ssl_cert"] && config["ssl_key"] ? "https" : "http" - "#{protocol}://#{host}:#{port}" + server_address( + config["ssl_cert"] && config["ssl_key"], + config["host"] == "127.0.0.1" ? "localhost" : config["host"], + config["port"] + ) end #