Included modules
- Rack::Utils
Public class methods
call
(request)
Implement .call, since it seems like the “Rack-y” thing to do. Plus, it opens the door for cache key generators to just be blocks.
[show source]
# File lib/rack/cache/key.rb, line 9 9: def self.call(request) 10: new(request).generate 11: end
new
(request)
[show source]
# File lib/rack/cache/key.rb, line 13 13: def initialize(request) 14: @request = request 15: end
Public instance methods
generate
()
Generate a normalized cache key for the request.
[show source]
# 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