httpx/sig/session.rbs
HoneyryderChuck 69e7e533de synchronize access to connections in the pool
also fixed the coalescing case where the connection may come from the pool, and should therefore be remmoved from there and selected/checked back in accordingly as a result
2024-11-19 12:55:44 +00:00

83 lines
2.9 KiB
Plaintext

module HTTPX
class Session
include Loggable
include Chainable
EMPTY_HASH: Hash[untyped, untyped]
@options: Options
@responses: Hash[Request, response]
# returns the HTTPX::Pool object which manages the networking required to
# perform requests.
@pool: Pool
@persistent: bool
@wrapped: bool
def self.plugin: (Symbol | Module plugin, ?options? options) ?{ (Class) -> void } -> singleton(Session)
def wrap: () { (instance) -> void } -> void
def close: (?Selector selector) -> void
def build_request: (verb verb, generic_uri uri, ?request_params params, ?Options options) -> Request
def select_connection: (Connection connection, Selector selector) -> void
def deselect_connection: (Connection connection, Selector selector, ?bool cloned) -> void
def select_resolver: (Resolver::Native | Resolver::HTTPS resolver, Selector selector) -> void
def deselect_resolver: (Resolver::Resolver resolver, Selector selector) -> void
def try_clone_connection: (Connection connection, Selector selector, Integer? family) -> Connection
def find_connection: (http_uri request_uri, Selector selector, Options options) -> Connection
private
def initialize: (?options) { (self) -> void } -> void
| (?options) -> void
def deactivate: (Selector selector) -> void
def on_response: (Request, response) -> void
def on_promise: (untyped, untyped) -> void
def fetch_response: (Request request, Selector selector, Options options) -> response?
def send_request: (Request request, Selector selector, ?Options options) -> void
def set_request_callbacks: (Request request) -> void
def build_requests: (verb, uri, request_params) -> Array[Request]
| (Array[[verb, uri, request_params]], Hash[Symbol, untyped]) -> Array[Request]
| (Array[[verb, uri]], request_params) -> Array[Request]
| (verb, _Each[[uri, request_params]], Hash[Symbol, untyped]) -> Array[Request]
| (verb, _Each[uri], request_params) -> Array[Request]
def do_init_connection: (Connection connection, Selector selector) -> Connection
def send_requests: (*Request) -> Array[response]
def _send_requests: (Array[Request] requests, Selector selector) -> void
def receive_requests: (Array[Request] requests, Selector selector) -> Array[response]
def resolve_connection: (Connection connection, Selector selector) -> void
def on_resolve_connection: (Connection connection, Selector selector) -> void
def on_resolver_close: (Resolver::Resolver resolver, Selector selector) -> void
def find_resolver_for: (Connection connection, Selector selector) -> (Resolver::Multi | Resolver::Resolver)
def coalesce_connections: (Connection conn1, Connection conn2, Selector selector, bool from_pool) -> bool
attr_reader self.default_options: Options
end
OriginalSession: singleton(Session)
end