X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FPageToadlet.java;h=1d2a2db48adb375ad934c3e76aca4dc371366c83;hp=ed01294618468c0f82e3f766f847e942ee881f8e;hb=a47643aed43d118ca68044f95451bb5374cdb332;hpb=45f92ec63dbf8134d92ceed67294faa38117b195 diff --git a/src/main/java/net/pterodactylus/sone/web/page/PageToadlet.java b/src/main/java/net/pterodactylus/sone/web/page/PageToadlet.java index ed01294..1d2a2db 100644 --- a/src/main/java/net/pterodactylus/sone/web/page/PageToadlet.java +++ b/src/main/java/net/pterodactylus/sone/web/page/PageToadlet.java @@ -1,5 +1,5 @@ /* - * Sone - PageToadlet.java - Copyright © 2010 David Roden + * Sone - PageToadlet.java - Copyright © 2010–2012 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 @@ -26,6 +26,7 @@ import net.pterodactylus.util.web.Page; import net.pterodactylus.util.web.Response; import freenet.client.HighLevelSimpleClient; import freenet.clients.http.LinkEnabledCallback; +import freenet.clients.http.LinkFilterExceptedToadlet; import freenet.clients.http.Toadlet; import freenet.clients.http.ToadletContext; import freenet.clients.http.ToadletContextClosedException; @@ -39,7 +40,7 @@ import freenet.support.io.Closer; * * @author David ‘Bombe’ Roden */ -public class PageToadlet extends Toadlet implements LinkEnabledCallback { +public class PageToadlet extends Toadlet implements LinkEnabledCallback, LinkFilterExceptedToadlet { /** The name of the menu item. */ private final String menuName; @@ -146,7 +147,7 @@ public class PageToadlet extends Toadlet implements LinkEnabledCallback { try { pageBucket = pageRequest.getToadletContext().getBucketFactory().makeBucket(-1); Response pageResponse = new Response(pageBucket.getOutputStream()); - page.handleRequest(pageRequest, pageResponse); + pageResponse = page.handleRequest(pageRequest, pageResponse); MultiValueTable headers = new MultiValueTable(); if (pageResponse.getHeaders() != null) { for (Header header : pageResponse.getHeaders()) { @@ -174,4 +175,16 @@ public class PageToadlet extends Toadlet implements LinkEnabledCallback { return true; } + // + // LINKFILTEREXCEPTEDTOADLET METHODS + // + + /** + * {@inheritDoc} + */ + @Override + public boolean isLinkExcepted(URI link) { + return (page instanceof FreenetPage) ? ((FreenetPage) page).isLinkExcepted(link) : false; + } + }