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::ContentDigest
- 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
- HTTPX::Plugins::XML
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 21 def self.load_plugin(name) 22 h = @plugins 23 m = @plugins_mutex 24 unless (plugin = m.synchronize { h[name] }) 25 require "httpx/plugins/#{name}" 26 raise "Plugin #{name} hasn't been registered" unless (plugin = m.synchronize { h[name] }) 27 end 28 plugin 29 end
register_plugin(name, mod)
Registers a plugin (mod
) in the central store indexed by name
.
[show source]
# File lib/httpx.rb 33 def self.register_plugin(name, mod) 34 h = @plugins 35 m = @plugins_mutex 36 m.synchronize { h[name] = mod } 37 end