class Merb::Rack::ConditionalGet
Public Instance Methods
call(env)
click to toggle source
:api: plugin
# File lib/merb-core/rack/middleware/conditional_get.rb, line 7 def call(env) status, headers, body = @app.call(env) if document_not_modified?(env, headers) status = 304 body = Merb::Const::EMPTY_STRING # set Date header using RFC1123 date format as specified by HTTP # RFC2616 section 3.3.1. end [status, headers, body] end
Private Instance Methods
document_not_modified?(env, headers)
click to toggle source
:api: private
# File lib/merb-core/rack/middleware/conditional_get.rb, line 22 def document_not_modified?(env, headers) if etag = headers[Merb::Const::ETAG] etag == env[Merb::Const::HTTP_IF_NONE_MATCH] elsif last_modified = headers[Merb::Const::LAST_MODIFIED] last_modified == env[Merb::Const::HTTP_IF_MODIFIED_SINCE] end end