summary refs log tree commit
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2016-04-11 21:11:40 -0300
committerSantiago Pastorino <santiago@wyeworks.com>2016-04-11 21:11:40 -0300
commit241db7a81eb18860a0a7293675614472593c165a (patch)
tree111c4ed465fc6b87953c59b4ee6d79a81d20cf3b
parent9f7703ebeb54d4015f898aad7d5d80c8cda982a2 (diff)
parent1162736d558a5545ff7ac2269494180145cd79f9 (diff)
downloadrack-241db7a81eb18860a0a7293675614472593c165a.tar.gz
Merge pull request #1042 from gioele/cmp-host-server-once
Compare host and server name only once per call
-rw-r--r--lib/rack/urlmap.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/rack/urlmap.rb b/lib/rack/urlmap.rb
index 572b2151..510b4b50 100644
--- a/lib/rack/urlmap.rb
+++ b/lib/rack/urlmap.rb
@@ -47,11 +47,13 @@ module Rack
       server_name = env[SERVER_NAME]
       server_port = env[SERVER_PORT]
 
+      is_same_server = casecmp?(http_host, server_name) ||
+                       casecmp?(http_host, "#{server_name}:#{server_port}")
+
       @mapping.each do |host, location, match, app|
         unless casecmp?(http_host, host) \
             || casecmp?(server_name, host) \
-            || (!host && (casecmp?(http_host, server_name) ||
-                          casecmp?(http_host, "#{server_name}:#{server_port}")))
+            || (!host && is_same_server)
           next
         end