summaryrefslogtreecommitdiff
path: root/lib/un.rb
diff options
context:
space:
mode:
authorKentaro Goto <gotoken@notwork.org>2021-04-27 14:49:37 +0900
committerKentaro Goto <gotoken+github@gmail.com>2021-08-23 09:59:09 +0900
commitf18e1752dcc55d62d4153926b5659a83469eb5ff (patch)
tree56d27c8e41ee34113a09f4c9ea0d3ec7b663e72d /lib/un.rb
parent8361675e3a117b2cccee6bcc92440667fe35be7b (diff)
downloadruby-f18e1752dcc55d62d4153926b5659a83469eb5ff.tar.gz
Display httpd URLs supporting HTTPS
Diffstat (limited to 'lib/un.rb')
-rw-r--r--lib/un.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/un.rb b/lib/un.rb
index e2ee755ce0..e656a4a981 100644
--- a/lib/un.rb
+++ b/lib/un.rb
@@ -347,13 +347,20 @@ def httpd
options[:Port] ||= 8080 # HTTP Alternate
options[:DocumentRoot] = argv.shift || '.'
s = nil
- options[:StartCallback] = Proc.new do
+ options[:StartCallback] = proc {
logger = s.logger
logger.info("To access this server, open this file in a browser:")
s.listeners.each do |listener|
- logger.info(" http://#{listener.connect_address.inspect_sockaddr}")
+ if options[:SSLEnable]
+ addr = listener.addr
+ addr[3] = "127.0.0.1" if addr[3] == "0.0.0.0"
+ addr[3] = "::1" if addr[3] == "::"
+ logger.info(" https://#{Addrinfo.new(addr).inspect_sockaddr}")
+ else
+ logger.info(" http://#{listener.connect_address.inspect_sockaddr}")
+ end
end
- end
+ }
s = WEBrick::HTTPServer.new(options)
shut = proc {s.shutdown}
siglist = %w"TERM QUIT"