Sha256: 1f55158a467cc5da62740f4fcd199056cebe467e27bcb16a9367d4a2ee524ded

Contents?: true

Size: 1.22 KB

Versions: 5

Compression:

Stored size: 1.22 KB

Contents

module HTTPX
  module Plugins
    module ResponseCache
      CACHEABLE_VERBS: Array[verb]

      def self?.cacheable_request?: (Request request) -> bool
      def self?.cacheable_response?: (response response) -> bool
      def self?.cached_response?: (response response) -> bool

      class Store
        @store: Hash[String, Array[Response]]

        def lookup: (Request request) -> Response?

        def cached?: (Request request) -> boolish

        def cache: (Request request, Response response) -> void

        def prepare: (Request request) -> void

        private

        def match_by_vary?: (Request request, Response response) -> bool
      end

      module InstanceMethods
        @response_cache: Store

        def clear_response_cache: () -> void
      end

      module RequestMethods
        def response_cache_key: () -> String
      end

      module ResponseMethods
        def copy_from_cached: (Response other) -> void

        def fresh?: () -> bool

        def cache_control: () -> Array[String]?

        def vary: () -> Array[String]?

        private

        def age: () -> Integer

        def date: () -> Time
      end
    end

    type sessionResponseCache = Session & ResponseCache::InstanceMethods
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
httpx-0.23.4 sig/plugins/response_cache.rbs
httpx-0.23.3 sig/plugins/response_cache.rbs
httpx-0.23.2 sig/plugins/response_cache.rbs
httpx-0.23.1 sig/plugins/response_cache.rbs
httpx-0.23.0 sig/plugins/response_cache.rbs