diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2016-04-11 21:11:40 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2016-04-11 21:11:40 -0300 |
commit | 241db7a81eb18860a0a7293675614472593c165a (patch) | |
tree | 111c4ed465fc6b87953c59b4ee6d79a81d20cf3b | |
parent | 9f7703ebeb54d4015f898aad7d5d80c8cda982a2 (diff) | |
parent | 1162736d558a5545ff7ac2269494180145cd79f9 (diff) | |
download | rack-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.rb | 6 |
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 |