add support for more cookie flags in Request::AddCookie() method
changed in config options: - renamed: http_session_id_name to session_cookie_name - add config options: session_cookie_path, session_cookie_domain, session_cookie_same_site, session_cookie_http_only, session_cookie_secure
This commit is contained in:
@@ -1521,12 +1521,12 @@ void Request::PrepareSessionCookie()
|
||||
|
||||
if( !session->puser || !session->remember_me )
|
||||
{
|
||||
AddCookie(config->http_session_id_name, cookie_id_string);
|
||||
AddDefaultSessionCookie(cookie_id_string);
|
||||
}
|
||||
else
|
||||
{
|
||||
pt::Date expires = start_time + config->session_remember_max_idle;
|
||||
AddCookie(config->http_session_id_name, cookie_id_string, expires);
|
||||
AddDefaultSessionCookie(cookie_id_string, &expires);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2143,6 +2143,39 @@ void Request::PutMethodName(pt::Stream & stream)
|
||||
|
||||
|
||||
|
||||
void Request::AddCookie(
|
||||
const std::wstring & name,
|
||||
const std::wstring * value_string,
|
||||
const pt::Stream * value_stream,
|
||||
pt::Date * expires,
|
||||
const std::wstring * path,
|
||||
const std::wstring * domain,
|
||||
CookieSameSite cookie_same_site,
|
||||
bool http_only,
|
||||
bool secure)
|
||||
{
|
||||
pt::WTextStream cookie;
|
||||
prepare_cookie_string(cookie, value_string, value_stream, expires, path, domain, cookie_same_site, http_only, secure);
|
||||
out_cookies.add_stream(name, cookie);
|
||||
}
|
||||
|
||||
|
||||
void Request::AddDefaultSessionCookie(const std::wstring & value, pt::Date * expires)
|
||||
{
|
||||
AddCookie(
|
||||
config->session_cookie_name,
|
||||
&value,
|
||||
nullptr,
|
||||
expires,
|
||||
&config->session_cookie_path,
|
||||
&config->session_cookie_domain,
|
||||
static_cast<CookieSameSite>(config->session_cookie_same_site),
|
||||
config->session_cookie_http_only,
|
||||
config->session_cookie_secure
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
void Request::FinishRequest()
|
||||
{
|
||||
modify_status_code_if_needed(); // will be removed
|
||||
|
||||
Reference in New Issue
Block a user