mirror of
https://github.com/wolfswolke/DeathGarden_API_Rebirth.git
synced 2026-04-26 00:10:28 -05:00
Trying to fix SESSION HANDLER
This commit is contained in:
parent
97adf4b2c9
commit
7d892dab2a
|
|
@ -28,10 +28,10 @@ def _get_remote_ip(check_type="strict"):
|
||||||
def check_for_game_client(check_type="strict"):
|
def check_for_game_client(check_type="strict"):
|
||||||
if check_type == "strict":
|
if check_type == "strict":
|
||||||
user_agent = sanitize_input(request.headers.get('User-Agent'))
|
user_agent = sanitize_input(request.headers.get('User-Agent'))
|
||||||
if user_agent.startswith("TheExit/++UE4+Release-4.2"):
|
if user_agent.startswith("TheExit/++UE4+Release-4.21-CL-0"):
|
||||||
_get_remote_ip("strict")
|
|
||||||
elif user_agent.startswith("game=TheExit, engine=UE4, version="):
|
|
||||||
_get_remote_ip("strict")
|
_get_remote_ip("strict")
|
||||||
|
# elif user_agent.startswith("game=TheExit, engine=UE4, version="):
|
||||||
|
# _get_remote_ip("strict")
|
||||||
elif user_agent.startswith("CrashReportClient/++UE4+Release-4.21"):
|
elif user_agent.startswith("CrashReportClient/++UE4+Release-4.21"):
|
||||||
_get_remote_ip("strict")
|
_get_remote_ip("strict")
|
||||||
elif user_agent.startswith("CrashReportClient/++UE4+Release-4.20-CL-0"):
|
elif user_agent.startswith("CrashReportClient/++UE4+Release-4.20-CL-0"):
|
||||||
|
|
@ -86,29 +86,27 @@ class Session_Manager:
|
||||||
def get_user_id(self, session_id):
|
def get_user_id(self, session_id):
|
||||||
self.clean_sessions()
|
self.clean_sessions()
|
||||||
if session_id not in self.sessions:
|
if session_id not in self.sessions:
|
||||||
logger.graylog_logger(level="info", handler="session_manager", message=f"Session ID: {session_id} not found.")
|
if session_id:
|
||||||
return None
|
return None
|
||||||
|
else:
|
||||||
|
logger.graylog_logger(level="info", handler="session_manager",
|
||||||
|
message=f"Session ID: {session_id} not found.")
|
||||||
|
return None
|
||||||
self.extend_session(session_id)
|
self.extend_session(session_id)
|
||||||
self.save_sessions()
|
self.save_sessions()
|
||||||
return self.sessions[session_id]["user"]
|
return self.sessions[session_id]["user"]
|
||||||
|
|
||||||
def extend_session(self, session_id):
|
def extend_session(self, session_id):
|
||||||
session_expires = self.sessions[session_id]["expires"]
|
self.sessions[session_id]["expires"] = time.time() + 3600
|
||||||
epoch = time.time() + 3600
|
self.save_sessions()
|
||||||
if session_expires <= epoch:
|
|
||||||
logger.graylog_logger(level="info", handler="session_manager", message=f"Extending Session: {session_id}")
|
|
||||||
self.sessions[session_id]["expires"] = time.time() + 7200
|
|
||||||
self.save_sessions()
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def clean_sessions(self):
|
def clean_sessions(self):
|
||||||
current_time = time.time()
|
current_time = time.time()
|
||||||
if self.sessions == {}:
|
if self.sessions == {}:
|
||||||
return
|
return
|
||||||
expired_sessions = [session_id for session_id, data in self.sessions.items() if data["expires"] < current_time]
|
for session in self.sessions:
|
||||||
for session_id in expired_sessions:
|
if self.sessions[session]["expires"] < current_time:
|
||||||
self.sessions.pop(session_id)
|
self.sessions.pop(session)
|
||||||
|
|
||||||
def __write_sessions__(self):
|
def __write_sessions__(self):
|
||||||
with open(self.session_file_path, "w") as session_file:
|
with open(self.session_file_path, "w") as session_file:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user