X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetRequest.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetRequest.kt;h=54c8f7fd18a3bb17e63e5aa30ba3aa09d75360ec;hp=0000000000000000000000000000000000000000;hb=03cec6a6772c2d836d94864adddaf544cbe9d72f;hpb=6f1f26e3998cfef155b0cf59152827accea70d30 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt b/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt new file mode 100644 index 0000000..54c8f7f --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetRequest.kt @@ -0,0 +1,42 @@ +/* + * Sone - FreenetRequest.kt - Copyright © 2011–2019 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package net.pterodactylus.sone.web.page + +import freenet.clients.http.* +import freenet.clients.http.SessionManager.* +import freenet.l10n.* +import freenet.support.api.* +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, + val l10n: BaseL10n, + 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) + +}