Generate a normalized cache key for the request.
# File lib/rack/cache/key.rb, line 18 18: def generate 19: parts = [] 20: parts << @request.scheme << "://" 21: parts << @request.host 22: 23: if @request.scheme == "https" && @request.port != 443 || 24: @request.scheme == "http" && @request.port != 80 25: parts << ":" << @request.port.to_s 26: end 27: 28: parts << @request.script_name 29: parts << @request.path_info 30: 31: if qs = query_string 32: parts << "?" 33: parts << qs 34: end 35: 36: parts.join 37: end
Build a normalized query string by alphabetizing all keys/values and applying consistent escaping.
# File lib/rack/cache/key.rb, line 42 42: def query_string 43: return nil if @request.query_string.nil? 44: 45: @request.query_string.split(/[&;] */). 46: map { |p| unescape(p).split('=', 2) }. 47: sort. 48: map { |k,v| "#{escape(k)}=#{escape(v)}" }. 49: join('&') 50: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.