X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetRequest.kt;h=38e01003a2c89340141eafb9cf230487702d0588;hp=914d70f225265fdff86abe4416ecfddb8201917d;hb=faf66247a34f64946990a985d2ea3003465969cb;hpb=dc47bafb2d0c4a2a440389158039993d10cbfd08 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt b/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt index 914d70f..38e0100 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt @@ -1,5 +1,5 @@ /* - * Sone - FreenetRequest.java - Copyright © 2011–2019 David Roden + * Sone - FreenetRequest.kt - Copyright © 2011–2020 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,8 +18,24 @@ package net.pterodactylus.sone.web.page import freenet.clients.http.* +import freenet.clients.http.SessionManager.* import freenet.support.api.* +import net.pterodactylus.sone.freenet.* import net.pterodactylus.util.web.* import java.net.* +import java.util.UUID.* -open class FreenetRequest(uri: URI, method: Method, val httpRequest: HTTPRequest, val toadletContext: ToadletContext) : Request(uri, method) +open class FreenetRequest(uri: URI, method: Method, + val httpRequest: HTTPRequest, + val toadletContext: ToadletContext, + val sessionManager: SessionManager +) : Request(uri, method) { + + val session: Session + get() = + sessionManager.useSession(toadletContext) + ?: sessionManager.createSession(randomUUID().toString(), toadletContext) + + val existingSession: Session? get() = sessionManager.useSession(toadletContext) + +}