fixes response locale not set for new sessions

Tue, 03 Aug 2021 12:22:10 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 03 Aug 2021 12:22:10 +0200
changeset 208
785820da6485
parent 207
479dd7993ef9
child 209
c9c6abf167c7

fixes response locale not set for new sessions

src/main/kotlin/de/uapcore/lightpit/AbstractServlet.kt file | annotate | diff | comparison | revisions
     1.1 --- a/src/main/kotlin/de/uapcore/lightpit/AbstractServlet.kt	Mon Aug 02 17:04:17 2021 +0200
     1.2 +++ b/src/main/kotlin/de/uapcore/lightpit/AbstractServlet.kt	Tue Aug 03 12:22:10 2021 +0200
     1.3 @@ -104,6 +104,7 @@
     1.4              val reqLocale = req.locale
     1.5              val sessionLocale = if (availableLanguages.contains(reqLocale)) reqLocale else availableLanguages.first()
     1.6              session.setAttribute(Constants.SESSION_ATTR_LANGUAGE, sessionLocale)
     1.7 +            resp.locale = sessionLocale
     1.8              logger().debug(
     1.9                  "Setting language for new session {}: {}", session.id, sessionLocale.displayLanguage
    1.10              )
    1.11 @@ -176,7 +177,7 @@
    1.12      protected fun availableLanguages(): List<Locale> {
    1.13          val langTags = servletContext.getInitParameter(Constants.CTX_ATTR_LANGUAGES)?.split(",")?.map(String::trim) ?: emptyList()
    1.14          val locales = langTags.map(Locale::forLanguageTag).filter { it.language.isNotEmpty() }
    1.15 -        return if (locales.isEmpty()) listOf(Locale.ENGLISH) else locales
    1.16 +        return locales.ifEmpty { listOf(Locale.ENGLISH) }
    1.17      }
    1.18  
    1.19  }

mercurial