Class | Merb::Rack::ConditionalGet |
In: |
merb-core/lib/merb-core/rack/middleware/conditional_get.rb
|
Parent: | Merb::Rack::Middleware |
:api: plugin
# File merb-core/lib/merb-core/rack/middleware/conditional_get.rb, line 7 7: def call(env) 8: status, headers, body = @app.call(env) 9: 10: if document_not_modified?(env, headers) 11: status = 304 12: body = Merb::Const::EMPTY_STRING 13: # set Date header using RFC1123 date format as specified by HTTP 14: # RFC2616 section 3.3.1. 15: end 16: 17: [status, headers, body] 18: end
:api: private
# File merb-core/lib/merb-core/rack/middleware/conditional_get.rb, line 22 22: def document_not_modified?(env, headers) 23: if etag = headers[Merb::Const::ETAG] 24: etag == env[Merb::Const::HTTP_IF_NONE_MATCH] 25: elsif last_modified = headers[Merb::Const::LAST_MODIFIED] 26: last_modified == env[Merb::Const::HTTP_IF_MODIFIED_SINCE] 27: end 28: end