Module: ActionDispatch::Http::Cache::Response
- Defined in:
- actionpack/lib/action_dispatch/http/cache.rb
Constant Summary
- DEFAULT_CACHE_CONTROL =
"max-age=0, private, must-revalidate"
Instance Attribute Summary (collapse)
-
- (Object) cache_control
readonly
Returns the value of attribute cache_control.
Instance Method Summary (collapse)
- - (Object) etag
- - (Object) etag=(etag)
- - (Boolean) etag?
-
- (Response) initialize
A new instance of Response.
- - (Object) last_modified
- - (Object) last_modified=(utc_time)
- - (Boolean) last_modified?
Instance Attribute Details
- (Object) cache_control (readonly)
Returns the value of attribute cache_control
42 43 44 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 42 def cache_control @cache_control end |
Instance Method Details
- (Object) etag
73 74 75 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 73 def etag @etag end |
- (Object) etag=(etag)
81 82 83 84 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 81 def etag=(etag) key = ActiveSupport::Cache.(etag) @etag = self["ETag"] = %("#{Digest::MD5.hexdigest(key)}") end |
- (Boolean) etag?
77 78 79 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 77 def etag? @etag end |
- (Response) initialize
A new instance of Response
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 44 def initialize(*) status, header, body = super @cache_control = {} @etag = self["ETag"] if cache_control = self["Cache-Control"] cache_control.split(/,\s*/).each do |segment| first, last = segment.split("=") last ||= true @cache_control[first.to_sym] = last end end end |
- (Object) last_modified
59 60 61 62 63 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 59 def last_modified if last = headers['Last-Modified'] Time.httpdate(last) end end |
- (Object) last_modified=(utc_time)
69 70 71 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 69 def last_modified=(utc_time) headers['Last-Modified'] = utc_time.httpdate end |
- (Boolean) last_modified?
65 66 67 |
# File 'actionpack/lib/action_dispatch/http/cache.rb', line 65 def last_modified? headers.include?('Last-Modified') end |