Better/more timezone support

This commit is contained in:
2023-03-14 16:32:29 -05:00
parent b395ee6778
commit 54d3e4a6c8
4 changed files with 73 additions and 9 deletions

View File

@ -447,7 +447,8 @@ public class QJavalinImplementation
context.cookie(SESSION_ID_COOKIE_NAME, session.getIdReference(), SESSION_COOKIE_AGE);
}
setUserTimezoneOffsetMinutesHeaderInSession(context, session);
setUserTimezoneOffsetMinutesInSession(context, session);
setUserTimezoneInSession(context, session);
}
catch(QAuthenticationException qae)
{
@ -493,7 +494,7 @@ public class QJavalinImplementation
/*******************************************************************************
**
*******************************************************************************/
private static void setUserTimezoneOffsetMinutesHeaderInSession(Context context, QSession session)
private static void setUserTimezoneOffsetMinutesInSession(Context context, QSession session)
{
String userTimezoneOffsetMinutes = context.header("X-QQQ-UserTimezoneOffsetMinutes");
if(StringUtils.hasContent(userTimezoneOffsetMinutes))
@ -503,7 +504,7 @@ public class QJavalinImplementation
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// even though we're putting it in the session as a string, go through parse int, to make sure it's a valid int. //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
session.setValue("UserTimezoneOffsetMinutes", String.valueOf(Integer.parseInt(userTimezoneOffsetMinutes)));
session.setValue(QSession.VALUE_KEY_USER_TIMEZONE_OFFSET_MINUTES, String.valueOf(Integer.parseInt(userTimezoneOffsetMinutes)));
}
catch(Exception e)
{
@ -514,6 +515,20 @@ public class QJavalinImplementation
/*******************************************************************************
**
*******************************************************************************/
private static void setUserTimezoneInSession(Context context, QSession session)
{
String userTimezone = context.header("X-QQQ-UserTimezone");
if(StringUtils.hasContent(userTimezone))
{
session.setValue(QSession.VALUE_KEY_USER_TIMEZONE, userTimezone);
}
}
/*******************************************************************************
**
*******************************************************************************/