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
* 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<FreenetRequest> {
+abstract class JsonPage(protected val webInterface: WebInterface) : Page<FreenetRequest> {
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
sessionProvider.getCurrentSone(toadletContext, createSession)
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) {