All plugins should be stored under this module/namespace. Can register and load plugins.
Classes and Modules
- HTTPX::Plugins::AWSSigV4
- HTTPX::Plugins::Auth
- HTTPX::Plugins::Authentication
- HTTPX::Plugins::AwsSdkAuthentication
- HTTPX::Plugins::BasicAuth
- HTTPX::Plugins::Brotli
- HTTPX::Plugins::Callbacks
- HTTPX::Plugins::CircuitBreaker
- HTTPX::Plugins::Cookies
- HTTPX::Plugins::DigestAuth
- HTTPX::Plugins::Expect
- HTTPX::Plugins::FollowRedirects
- HTTPX::Plugins::GRPC
- HTTPX::Plugins::H2
- HTTPX::Plugins::H2C
- HTTPX::Plugins::InternalTelemetry
- HTTPX::Plugins::NTLMAuth
- HTTPX::Plugins::OAuth
- HTTPX::Plugins::Persistent
- HTTPX::Plugins::Proxy
- HTTPX::Plugins::PushPromise
- HTTPX::Plugins::RateLimiter
- HTTPX::Plugins::ResponseCache
- HTTPX::Plugins::Retries
- HTTPX::Plugins::Sentry
- HTTPX::Plugins::SsrfFilter
- HTTPX::Plugins::Stream
- HTTPX::Plugins::Upgrade
- HTTPX::Plugins::WebDav
Public Class methods
load_plugin(name)
Loads a plugin based on a name. If the plugin hasn’t been loaded, tries to load it from the load path under “httpx/plugins/” directory.
[show source]
# File lib/httpx.rb 38 def self.load_plugin(name) 39 h = @plugins 40 m = @plugins_mutex 41 unless (plugin = m.synchronize { h[name] }) 42 require "httpx/plugins/#{name}" 43 raise "Plugin #{name} hasn't been registered" unless (plugin = m.synchronize { h[name] }) 44 end 45 plugin 46 end
register_plugin(name, mod)
Registers a plugin (mod
) in the central store indexed by name
.
[show source]
# File lib/httpx.rb 50 def self.register_plugin(name, mod) 51 h = @plugins 52 m = @plugins_mutex 53 m.synchronize { h[name] = mod } 54 end