about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-02-04 15:01:03 -0800
committerEric Wong <normalperson@yhbt.net>2011-02-04 17:50:03 -0800
commitd20bb75518669444ad65fffe4c6e5d2654436193 (patch)
treea517e0d9cf01799b9f81baa5cc8575c54517fbdc
parentba9a22b6926db058199d44a626b923376c8a850f (diff)
downloadrainbows-d20bb75518669444ad65fffe4c6e5d2654436193.tar.gz
Yes it's fugly
-rw-r--r--lib/rainbows/reverse_proxy.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rainbows/reverse_proxy.rb b/lib/rainbows/reverse_proxy.rb
index 0a8fd2b..93ad938 100644
--- a/lib/rainbows/reverse_proxy.rb
+++ b/lib/rainbows/reverse_proxy.rb
@@ -59,7 +59,8 @@ class Rainbows::ReverseProxy
       url, cfg = *url if Array === url
       if url =~ %r{\Ahttp://}
         uri = URI.parse(url)
-        sockaddr = Socket.sockaddr_in(uri.port, uri.host)
+        host = uri.host =~ %r{\A\[([a-fA-F0-9:]+)\]\z} ? $1 : uri.host
+        sockaddr = Socket.sockaddr_in(uri.port, host)
       else
         path = url.gsub(%r{\Aunix:}, "") # nginx compat
         %r{\A~} =~ path and path = File.expand_path(path)