8namespace Stroika::Frameworks::Auth {
15 template <IIdentityManagerCompatibleID ID_TYPE>
16 struct CurrentIdentityAuthInterceptor<ID_TYPE>::Rep_ : Interceptor::_IRep {
17 function<ID_TYPE (WebServer::Request&)> fCallback_;
19 Rep_ (function<ID_TYPE (WebServer::Request&)> cb)
23 virtual void HandleFault ([[maybe_unused]] WebServer::Message& m, [[maybe_unused]]
const exception_ptr& e)
const noexcept override
25 CurrentIdentityManager<ID_TYPE>::clear ();
27 virtual void HandleMessage (WebServer::Message& m)
const override
29 if (
auto oId = fCallback_ (m.rwRequest ())) {
33 virtual void CompleteNormally ([[maybe_unused]] WebServer::Message& m)
const override
35 CurrentIdentityManager<ID_TYPE>::clear ();
37 virtual Characters::String ToString ()
const override
39 return "CurrentIdentityAuthInterceptor"sv;
42 template <IIdentityManagerCompatibleID ID_TYPE>
43 CurrentIdentityAuthInterceptor<ID_TYPE>::CurrentIdentityAuthInterceptor (function<ID_TYPE (WebServer::Request&)> cb)
auto MakeSharedPtr(ARGS_TYPE &&... args) -> shared_ptr< T >
same as make_shared, but if type T has block allocation, then use block allocation for the 'shared pa...
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