Sha256: 9bf21f24a3547a63a0865a301f09c7835aba710d5f9ff1351d1e09929653a40c

Contents?: true

Size: 1.51 KB

Versions: 14

Compression:

Stored size: 1.51 KB

Contents

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

      def self?.cacheable_request?: (Request & RequestMethods request) -> bool
      def self?.cacheable_response?: (::HTTPX::ErrorResponse | (Response & ResponseMethods) response) -> bool
      def self?.cached_response?: (response response) -> bool

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

        @store_mutex: Thread::Mutex

        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

        def _get: (Request request) -> Array[Response]?

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

      module InstanceMethods
        @response_cache: Store

        def clear_response_cache: () -> void
      end

      module RequestMethods
        @response_cache_key: String

        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

14 entries across 14 versions & 1 rubygems

Version Path
httpx-1.3.4 sig/plugins/response_cache.rbs
httpx-1.3.3 sig/plugins/response_cache.rbs
httpx-1.3.2 sig/plugins/response_cache.rbs
httpx-1.3.1 sig/plugins/response_cache.rbs
httpx-1.3.0 sig/plugins/response_cache.rbs
httpx-1.2.6 sig/plugins/response_cache.rbs
httpx-1.2.4 sig/plugins/response_cache.rbs
httpx-1.2.3 sig/plugins/response_cache.rbs
httpx-1.2.2 sig/plugins/response_cache.rbs
httpx-1.2.1 sig/plugins/response_cache.rbs
httpx-1.2.0 sig/plugins/response_cache.rbs
httpx-1.1.5 sig/plugins/response_cache.rbs
httpx-1.1.4 sig/plugins/response_cache.rbs
httpx-1.1.3 sig/plugins/response_cache.rbs