Sha256: 539005adec90b2a67ac5fc9d867f2c0fa2a5c2f3617e99fea72af837adf711b5

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

require 'rack/request'
require 'rack/cache/cache_control'

module Rack::Cache

  # Provides access to the HTTP request. The +request+ and +original_request+
  # objects exposed by the Core caching engine are instances of this class.
  #
  # Request objects respond to a variety of convenience methods, including
  # everything defined by Rack::Request as well as the Headers and
  # RequestHeaders modules.
  class Request < Rack::Request
    # The HTTP request method. This is the standard implementation of this
    # method but is respecified here due to libraries that attempt to modify
    # the behavior to respect POST tunnel method specifiers. We always want
    # the real request method.
    def request_method
      @env['REQUEST_METHOD']
    end

    # A CacheControl instance based on the request's cache-control header.
    def cache_control
      @cache_control ||= CacheControl.new(env['HTTP_CACHE_CONTROL'])
    end

    # True when the cache-control/no-cache directive is present or the
    # Pragma header is set to no-cache.
    def no_cache?
      cache_control['no-cache'] ||
        env['HTTP_PRAGMA'] == 'no-cache'
    end
  end
end

Version data entries

6 entries across 5 versions & 2 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/rack-cache-1.17.0/lib/rack/cache/request.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/rack-cache-1.17.0/lib/rack/cache/request.rb
rack-cache-1.17.0 lib/rack/cache/request.rb
rack-cache-1.16.0 lib/rack/cache/request.rb
rack-cache-1.15.0 lib/rack/cache/request.rb
rack-cache-1.14.0 lib/rack/cache/request.rb