mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-01-31 13:29:18 +01:00
32 lines
873 B
C++
32 lines
873 B
C++
#include "user_session_setup_middleware.h"
|
|
|
|
#include "../../singleton/user_db.h"
|
|
#include "../../users/user.h"
|
|
#include "modules/web/http/http_session.h"
|
|
#include "modules/web/http/web_server_request.h"
|
|
|
|
// returning true means handled, false means continue
|
|
bool UserSessionSetupWebServerMiddleware::_on_before_handle_request_main(Ref<WebServerRequest> request) {
|
|
if (request->get_session().is_valid()) {
|
|
int user_id = request->get_session()->get_int("user_id", -1);
|
|
|
|
if (user_id != -1) {
|
|
Ref<User> u = UserDB::get_singleton()->get_user(user_id);
|
|
|
|
if (u.is_valid()) {
|
|
request->set_meta("user", u);
|
|
} else {
|
|
// log
|
|
request->get_session()->remove("user_id");
|
|
}
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
UserSessionSetupWebServerMiddleware::UserSessionSetupWebServerMiddleware() {
|
|
}
|
|
UserSessionSetupWebServerMiddleware::~UserSessionSetupWebServerMiddleware() {
|
|
}
|