mirror of
https://github.com/wolfswolke/DeathGarden_API_Rebirth.git
synced 2026-03-21 17:54:09 -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"):
|
||||
if check_type == "strict":
|
||||
user_agent = sanitize_input(request.headers.get('User-Agent'))
|
||||
if user_agent.startswith("TheExit/++UE4+Release-4.2"):
|
||||
_get_remote_ip("strict")
|
||||
elif user_agent.startswith("game=TheExit, engine=UE4, version="):
|
||||
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")
|
||||
elif user_agent.startswith("CrashReportClient/++UE4+Release-4.21"):
|
||||
_get_remote_ip("strict")
|
||||
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):
|
||||
self.clean_sessions()
|
||||
if session_id not in self.sessions:
|
||||
logger.graylog_logger(level="info", handler="session_manager", message=f"Session ID: {session_id} not found.")
|
||||
return None
|
||||
if session_id:
|
||||
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.save_sessions()
|
||||
return self.sessions[session_id]["user"]
|
||||
|
||||
def extend_session(self, session_id):
|
||||
session_expires = self.sessions[session_id]["expires"]
|
||||
epoch = time.time() + 3600
|
||||
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
|
||||
self.sessions[session_id]["expires"] = time.time() + 3600
|
||||
self.save_sessions()
|
||||
|
||||
def clean_sessions(self):
|
||||
current_time = time.time()
|
||||
if self.sessions == {}:
|
||||
return
|
||||
expired_sessions = [session_id for session_id, data in self.sessions.items() if data["expires"] < current_time]
|
||||
for session_id in expired_sessions:
|
||||
self.sessions.pop(session_id)
|
||||
for session in self.sessions:
|
||||
if self.sessions[session]["expires"] < current_time:
|
||||
self.sessions.pop(session)
|
||||
|
||||
def __write_sessions__(self):
|
||||
with open(self.session_file_path, "w") as session_file:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user