X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetTemplatePage.java;h=14e48ac38496d1b4d05f883d4b7f9a7f25cbc1a1;hb=9a630573219dc555088b80374a6630709328d9ea;hp=cd15cbf99812d3db8af8544be84b7622f1ee43e5;hpb=c9e306ac8e3ada846e87a0cc256a20fc148f381c;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java b/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java index cd15cbf..14e48ac 100644 --- a/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java +++ b/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java @@ -1,5 +1,5 @@ /* - * Sone - FreenetTemplatePage.java - Copyright © 2010 David Roden + * Sone - FreenetTemplatePage.java - Copyright © 2010–2013 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 @@ -17,6 +17,8 @@ package net.pterodactylus.sone.web.page; +import static java.util.logging.Logger.getLogger; + import java.io.IOException; import java.io.StringWriter; import java.net.URI; @@ -28,10 +30,10 @@ import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import net.pterodactylus.util.logging.Logging; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; import net.pterodactylus.util.template.TemplateContextFactory; +import net.pterodactylus.util.web.Header; import net.pterodactylus.util.web.Method; import net.pterodactylus.util.web.Page; import net.pterodactylus.util.web.RedirectResponse; @@ -51,7 +53,7 @@ import freenet.support.HTMLNode; public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { /** The logger. */ - private static final Logger logger = Logging.getLogger(FreenetTemplatePage.class); + private static final Logger logger = getLogger("Sone.Web.Freenet"); /** The path of the page. */ private final String path; @@ -100,6 +102,7 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { * The request to serve * @return The title of the page */ + @SuppressWarnings("static-method") protected String getPageTitle(FreenetRequest request) { return null; } @@ -155,7 +158,7 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { long start = System.nanoTime(); processTemplate(request, templateContext); long finish = System.nanoTime(); - logger.log(Level.FINEST, "Template was rendered in %dms.", ((finish - start) / 1000) / 1000.0); + logger.log(Level.FINEST, String.format("Template was rendered in %.2fms.", (finish - start) / 1000000.0)); } catch (RedirectException re1) { return new RedirectResponse(re1.getTarget()); } @@ -166,6 +169,12 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { postProcess(request, templateContext); + for (Header header : getAdditionalHeaders(request)) { + for (String value : header) { + response.addHeader(header.getName(), value); + } + } + return response.setStatusCode(200).setStatusText("OK").setContentType("text/html").write(pageNode.outer.generate()); } @@ -175,6 +184,7 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { * * @return Additional style sheets to load */ + @SuppressWarnings("static-method") protected Collection getStyleSheets() { return Collections.emptySet(); } @@ -184,6 +194,7 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { * * @return The URL of the shortcut icon, or {@code null} for no icon */ + @SuppressWarnings("static-method") protected String getShortcutIcon() { return null; } @@ -227,10 +238,15 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { * The request that is processed * @return The URL to redirect to, or {@code null} to not redirect */ + @SuppressWarnings("static-method") protected String getRedirectTarget(FreenetRequest request) { return null; } + protected Iterable
getAdditionalHeaders(FreenetRequest request) { + return Collections.emptyList(); + } + /** * Returns additional <link> nodes for the HTML’s <head> node. * @@ -238,6 +254,7 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { * The request for which to return the link nodes * @return All link nodes that should be added to the HTML head */ + @SuppressWarnings("static-method") protected List> getAdditionalLinkNodes(FreenetRequest request) { return Collections.emptyList(); } @@ -249,6 +266,7 @@ public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { * @return {@code true} if this page should only be allowed for hosts with * full access, {@code false} to allow this page for any host */ + @SuppressWarnings("static-method") protected boolean isFullAccessOnly() { return false; }