X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetTemplatePage.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetTemplatePage.kt;h=d5d8f06a95ce205b4ec3935c6a3ae9391d18ff75;hp=8cf5f6131ec7074250b62446b31b5d4b0c4c44ff;hb=5201720801a4053f8f324b71fb3e9c36f6cd911e;hpb=b9d12d4a287728f062c541d02887c39c24117217 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetTemplatePage.kt b/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetTemplatePage.kt index 8cf5f61..d5d8f06 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetTemplatePage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/page/FreenetTemplatePage.kt @@ -36,6 +36,7 @@ open class FreenetTemplatePage( private val invalidFormPasswordRedirectTarget: String ) : FreenetPage, LinkEnabledCallback { + private val pageMakerInteractionFactory: PageMakerInteractionFactory = DefaultPageMakerInteractionFactory() open val styleSheets: Collection = emptySet() open val shortcutIcon: String? get() = null open val isFullAccessOnly get() = false @@ -70,16 +71,11 @@ open class FreenetTemplatePage( return RedirectResponse(invalidFormPasswordRedirectTarget) } } - val pageMaker = toadletContext.pageMaker - val pageNode = pageMaker.getPageNode(getPageTitle(request), toadletContext) - styleSheets.forEach(pageNode::addCustomStyleSheet) - getAdditionalLinkNodes(request) - .map { it to pageNode.headNode.addChild("link") } - .forEach { (linkNodeParameters, linkNode) -> - linkNodeParameters.forEach(linkNode::addAttribute) - } - shortcutIcon?.let { pageNode.addForwardLink("icon", it) } + val pageMakerInteraction = pageMakerInteractionFactory.createPageMaker(toadletContext, getPageTitle(request)) + styleSheets.forEach(pageMakerInteraction::addStyleSheet) + getAdditionalLinkNodes(request).forEach(pageMakerInteraction::addLinkNode) + shortcutIcon?.let(pageMakerInteraction::addShortcutIcon) val output = try { val start = System.nanoTime() @@ -93,9 +89,9 @@ open class FreenetTemplatePage( return RedirectResponse(re1.target ?: "") } - pageNode.content.addChild("%", output) + pageMakerInteraction.setContent(output) - return response.setStatusCode(200).setStatusText("OK").setContentType("text/html").write(pageNode.outer.generate()) + return response.setStatusCode(200).setStatusText("OK").setContentType("text/html").write(pageMakerInteraction.renderPage()) } open fun processTemplate(request: FreenetRequest, templateContext: TemplateContext) {