Sha256: 023f36edf2f1fc8a1b4b0d81c11a4446f3a939376c9119f9a58224df00a0ada7

Contents?: true

Size: 1.49 KB

Versions: 6

Compression:

Stored size: 1.49 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]] & Mutex_m

        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

6 entries across 6 versions & 1 rubygems

Version Path
httpx-1.1.2 sig/plugins/response_cache.rbs
httpx-1.1.1 sig/plugins/response_cache.rbs
httpx-1.1.0 sig/plugins/response_cache.rbs
httpx-1.0.2 sig/plugins/response_cache.rbs
httpx-1.0.1 sig/plugins/response_cache.rbs
httpx-1.0.0 sig/plugins/response_cache.rbs