Callbacks plugin doesn't initialize its variables before using them
Minimal repro:
HTTPX
.plugin(:callbacks)
.plugin(:auth)
.bearer_auth('token')
Error:
[...]/httpx-1.5.1/lib/httpx/callbacks.rb:23:in 'HTTPX::Callbacks#callbacks_for?': undefined method 'key?' for nil (NoMethodError)
@callbacks.key?(type) && @callbacks[type].any?
^^^^^
from [...]/httpx-1.5.1/lib/httpx/plugins/callbacks.rb:40:in 'block (2 levels) in HTTPX::Plugins::Callbacks::InstanceMethods#branch'
from [...]/httpx-1.5.1/lib/httpx/plugins/callbacks.rb:39:in 'Array#each'
from [...]/httpx-1.5.1/lib/httpx/plugins/callbacks.rb:39:in 'block in HTTPX::Plugins::Callbacks::InstanceMethods#branch'
from <internal:kernel>:91:in 'Kernel#tap'
from [...]/httpx-1.5.1/lib/httpx/plugins/callbacks.rb:38:in 'HTTPX::Plugins::Callbacks::InstanceMethods#branch'
from [...]/httpx-1.5.1/lib/httpx/chainable.rb:39:in 'HTTPX::Chainable#with'
from [...]/httpx-1.5.1/lib/httpx/plugins/auth.rb:15:in 'HTTPX::Plugins::Auth::InstanceMethods#authorization'
from [...]/httpx-1.5.1/lib/httpx/plugins/auth.rb:19:in 'HTTPX::Plugins::Auth::InstanceMethods#bearer_auth'
from test.rb:4:in '<main>'