-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathsession_manager.h
More file actions
24 lines (18 loc) · 817 Bytes
/
session_manager.h
File metadata and controls
24 lines (18 loc) · 817 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// session_manager.h
#ifndef SESSION_MANAGER_H
#define SESSION_MANAGER_H
#include <string>
#include <unordered_map>
// Declare the session storage map
extern std::unordered_map<std::string, std::string> sessions;
// Session management API
std::string generate_session_id();
std::string set_session_cookie_if_needed(const std::string& request);
void invalidate_session(int client_socket);
bool is_valid_session(const std::string& session_id);
void set_session_data(const std::string& session_id, const std::string& data);
std::string get_session_data(const std::string& session_id);
void set_session_cookie(int client_socket, const std::string& session_id);
// Declare the function to extract session ID from cookies
std::string get_session_id_from_cookie(const std::string& request);
#endif // SESSION_MANAGER_H