Sha256: 78b874b4c7c823c4a485751692fdd48fe7823ae6df6e1041c50aa86c41c478bf

Contents?: true

Size: 804 Bytes

Versions: 34

Compression:

Stored size: 804 Bytes

Contents

module Workarea
  module Storefront
    module HttpCaching
      extend ActiveSupport::Concern

      included do
        after_action :set_vary_headers
        helper_method :http_caching?
      end

      def cache_page
        unless current_user.try(:admin?)
          expires_in Workarea.config.cache_expirations.http_cache, public: true if flash.blank?
          request.session_options[:skip] = true
          @http_caching = true
        end
      end

      def http_caching?
        !!@http_caching
      end

      private

      def set_vary_headers
        response.headers['X-Requested-With'] = request.headers['X-Requested-With'] || ''
        response.headers['X-Flash-Messages'] ||= ''

        response.headers['Vary'] = 'X-Requested-With, X-Flash-Messages'
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
workarea-storefront-3.4.25 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.24 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.23 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.22 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.21 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.20 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.19 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.18 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.17 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.16 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.15 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.14 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.13 app/controllers/workarea/storefront/http_caching.rb
workarea-storefront-3.4.12 app/controllers/workarea/storefront/http_caching.rb