7namespace Stroika::Frameworks::Auth {
14 template <IIdentityManagerCompatibleID ID_TYPE>
15 struct CurrentIdentityAuthInterceptor<ID_TYPE>::Rep_ : Interceptor::_IRep {
16 function<ID_TYPE (WebServer::Request&)> fCallback_;
18 Rep_ (function<ID_TYPE (WebServer::Request&)> cb)
22 virtual void HandleFault ([[maybe_unused]] WebServer::Message& m, [[maybe_unused]]
const exception_ptr& e)
const noexcept override
24 CurrentIdentityManager<ID_TYPE>::clear ();
26 virtual void HandleMessage (WebServer::Message& m)
const override
28 if (
auto oId = fCallback_ (m.rwRequest ())) {
32 virtual void CompleteNormally ([[maybe_unused]] WebServer::Message& m)
const override
34 CurrentIdentityManager<ID_TYPE>::clear ();
36 virtual Characters::String ToString ()
const override
38 return "CurrentIdentityAuthInterceptor"sv;
41 template <IIdentityManagerCompatibleID ID_TYPE>
42 CurrentIdentityAuthInterceptor<ID_TYPE>::CurrentIdentityAuthInterceptor (function<ID_TYPE (WebServer::Request&)> cb)
43 : inherited{make_shared<Rep_> (cb)}
nonvirtual void HandleFault(Message &m, const exception_ptr &e) const noexcept
nonvirtual void HandleMessage(Message &m) const
static void Set(IDType id)
if no identity set with Establish, and maybe even if it has been set, Get() == false