X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FJsonPage.kt;h=356aca60df906f6677820308f75342a18b17e8cf;hp=2da5edc6bff51cb1e03e6b72224abfe84bf3613a;hb=HEAD;hpb=5ebcf8e99818206776539ab6610461dc4386a304 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/JsonPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/JsonPage.kt index 2da5edc..356aca6 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/ajax/JsonPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/JsonPage.kt @@ -5,7 +5,7 @@ import freenet.clients.http.ToadletContext import net.pterodactylus.sone.utils.parameters import net.pterodactylus.sone.web.SessionProvider import net.pterodactylus.sone.web.WebInterface -import net.pterodactylus.sone.web.page.FreenetRequest +import net.pterodactylus.sone.web.page.* import net.pterodactylus.util.web.Page import net.pterodactylus.util.web.Response import java.io.ByteArrayOutputStream @@ -15,13 +15,13 @@ import java.io.PrintStream * A JSON page is a specialized [Page] that will always return a JSON * object to the browser, e.g. for use with AJAX or other scripting frameworks. */ -abstract class JsonPage(private val path: String, protected val webInterface: WebInterface) : Page { +abstract class JsonPage(protected val webInterface: WebInterface) : Page { private val objectMapper = ObjectMapper() private val sessionProvider: SessionProvider = webInterface protected val core = webInterface.core - override fun getPath() = path + override fun getPath() = toadletPath override fun isPrefixPage() = false open val needsFormPassword = true @@ -31,17 +31,17 @@ abstract class JsonPage(private val path: String, protected val webInterface: We protected fun createErrorJsonObject(error: String) = JsonErrorReturnObject(error) - protected fun getCurrentSone(toadletContext: ToadletContext, createSession: Boolean = true) = - sessionProvider.getCurrentSone(toadletContext, createSession) + protected fun getCurrentSone(toadletContext: ToadletContext) = + sessionProvider.getCurrentSone(toadletContext) override fun handleRequest(request: FreenetRequest, response: Response): Response { - if (core.preferences.isRequireFullAccess && !request.toadletContext.isAllowedFullAccess) { + if (core.preferences.requireFullAccess && !request.toadletContext.isAllowedFullAccess) { return response.setStatusCode(403).setStatusText("Forbidden").setContentType("application/json").write(createErrorJsonObject("auth-required").asJsonString()) } if (needsFormPassword && request.parameters["formPassword"] != webInterface.formPassword) { return response.setStatusCode(403).setStatusText("Forbidden").setContentType("application/json").write(createErrorJsonObject("auth-required").asJsonString()) } - if (requiresLogin && (sessionProvider.getCurrentSone(request.toadletContext, false) == null)) { + if (requiresLogin && (sessionProvider.getCurrentSone(request.toadletContext) == null)) { return response.setStatusCode(403).setStatusText("Forbidden").setContentType("application/json").write(createErrorJsonObject("auth-required").asJsonString()) } return try {