You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_The API is **experimental.**_
TODO: catch exceptions in #process and send #cancel_string.
TODO: raise an error if the command succeeds after being canceled.
TODO: use with more clients, to verify the API can accommodate them.
An abstract base class for executing a SASL authentication exchange for
a client. Subclasses works as an adapter for a protocol and a client
implementation of that protocol.
Call `#authenticate` to execute an authentication exchange for `#client`
using `#authenticator`. Authentication failures will raise an
exception. Any exceptions other than those in RESPONSE_ERRORs will also
drop the connection.
Methods for subclasses to override are all documented as `protected`.
At the very least, subclasses must provide an override (or a block) for
`#send_command_with_continuations`. Client-specific overrides may also
be needed for `RESPONSE_ERRORS`, `#supports_initial_response?`,
`#supports_mechanism?`, `#handle_incomplete`, or `#drop_connection`.
✨ Adds `registry` option to `#authenticate`. This allows authenticator
lookup and creation to be overridden, rather than be forced to depend on
global defaults.
0 commit comments