Sha256: 7a54f87ba7075c65bfb04519a2d3055b2d61fb33061f2eedbfc1ed9713685b7e
Contents?: true
Size: 1.13 KB
Versions: 16
Compression:
Stored size: 1.13 KB
Contents
# frozen_string_literal: true module HTTPX module Plugins # This plugin implements a session that persists connections over the duration of the process. # # This will improve connection reuse in a long-running process. # # One important caveat to note is, although this session might not close connections, # other sessions from the same process that don't have this plugin turned on might. # # This session will still be able to work with it, as if, when expecting a connection # terminated by a different session, it will just retry on a new one and keep it open. # # This plugin is also not recommendable when connecting to >9000 (like, a lot) different origins. # So when you use this, make sure that you don't fall into this trap. # # https://gitlab.com/honeyryderchuck/httpx/wikis/Persistent # module Persistent def self.load_dependencies(klass) klass.plugin(:retries, max_retries: 1, retry_change_requests: true) end def self.extra_options(options) options.merge(persistent: true) end end register_plugin :persistent, Persistent end end
Version data entries
16 entries across 16 versions & 1 rubygems