Add test for DI constructability of TrustAjaxPage
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / JsonPage.kt
index 6ba842f..2da5edc 100644 (file)
@@ -19,12 +19,13 @@ abstract class JsonPage(private val path: String, protected val webInterface: We
 
        private val objectMapper = ObjectMapper()
        private val sessionProvider: SessionProvider = webInterface
+       protected val core = webInterface.core
 
        override fun getPath() = path
        override fun isPrefixPage() = false
 
-       open fun needsFormPassword() = true
-       open fun requiresLogin() = true
+       open val needsFormPassword = true
+       open val requiresLogin = true
 
        protected fun createSuccessJsonObject() = JsonReturnObject(true)
        protected fun createErrorJsonObject(error: String) =
@@ -34,13 +35,13 @@ abstract class JsonPage(private val path: String, protected val webInterface: We
                        sessionProvider.getCurrentSone(toadletContext, createSession)
 
        override fun handleRequest(request: FreenetRequest, response: Response): Response {
-               if (webInterface.core.preferences.isRequireFullAccess && !request.toadletContext.isAllowedFullAccess) {
+               if (core.preferences.isRequireFullAccess && !request.toadletContext.isAllowedFullAccess) {
                        return response.setStatusCode(403).setStatusText("Forbidden").setContentType("application/json").write(createErrorJsonObject("auth-required").asJsonString())
                }
-               if (needsFormPassword() && request.parameters["formPassword"] != webInterface.formPassword) {
+               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, false) == null)) {
                        return response.setStatusCode(403).setStatusText("Forbidden").setContentType("application/json").write(createErrorJsonObject("auth-required").asJsonString())
                }
                return try {