httpx/sig/plugins/response_cache.rbs
HoneyryderChuck 61c36c4ef9 response cache: caching several instances for the same URL
by relying on vary header, this should have the effect of not
overflowinng, and doing what the user wants.
2022-08-01 18:40:21 +01:00

55 lines
1.2 KiB
Plaintext

module HTTPX
module Plugins
module ResponseCache
CACHEABLE_VERBS: Array[Symbol]
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