    # File lib/rack/urlmap.rb, line 22
        def remap(map)
          @mapping = map.map { |location, app|
            if location =~ %r{\Ahttps?://(.*?)(/.*)}
              host, location = $1, $2
            else
              host = nil
            end

            unless location[0] == ?/
              raise ArgumentError, "paths need to start with /"
            end

            location = location.chomp('/')
            match = Regexp.new("^#{Regexp.quote(location).gsub('/', '/+')}(.*)", nil, 'n')

            [host, location, match, app]
          }.sort_by do |(host, location, _, _)|
            [host ? -host.size : INFINITY, -location.size]
          end
        end