X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FFreenetSessionProvider.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FFreenetSessionProvider.kt;h=8928f12b0d9bb669c3b2c832b6d04881d1f1106b;hp=80bacdfe440d369ea01f02e184db3cfccb3110f8;hb=ecfd4c5a91d204ce4c001d19fa600cf42ac4cf43;hpb=64740709990291688170ebd1f192af5eb9090618 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/FreenetSessionProvider.kt b/src/main/kotlin/net/pterodactylus/sone/web/FreenetSessionProvider.kt index 80bacdf..8928f12 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/FreenetSessionProvider.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/FreenetSessionProvider.kt @@ -41,10 +41,13 @@ class FreenetSessionProvider @Inject constructor(private val soneProvider: SoneP sessionManager.useSession(toadletContext) ?.removeAttribute("Sone.CurrentSone") } else { - (sessionManager.useSession(toadletContext) - ?: sessionManager.createSession(UUID.randomUUID().toString(), toadletContext)) + sessionManager.getOrCreateSession(toadletContext) ?.setAttribute("Sone.CurrentSone", sone.id) } } + private fun SessionManager.getOrCreateSession(toadletContext: ToadletContext) = + useSession(toadletContext) + ?: createSession(UUID.randomUUID().toString(), toadletContext) + }