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=45d6ffffba1400103af080f6691f87b5b3ff96d9;hp=c515e5f41e777e8d08ca16a6188f3c55369be763;hb=faf66247a34f64946990a985d2ea3003465969cb;hpb=62573c314957b1851f4fbe693b8746686caa940a 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 c515e5f..45d6fff 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–2016 David Roden + * Sone - PageToadlet.java - Copyright © 2010–2020 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 @@ -30,6 +30,7 @@ import net.pterodactylus.util.web.Response; import freenet.client.HighLevelSimpleClient; import freenet.clients.http.LinkEnabledCallback; import freenet.clients.http.LinkFilterExceptedToadlet; +import freenet.clients.http.SessionManager; import freenet.clients.http.Toadlet; import freenet.clients.http.ToadletContext; import freenet.clients.http.ToadletContextClosedException; @@ -41,6 +42,8 @@ import freenet.support.api.HTTPRequest; */ public class PageToadlet extends Toadlet implements LinkEnabledCallback, LinkFilterExceptedToadlet { + private final SessionManager sessionManager; + /** The name of the menu item. */ private final String menuName; @@ -63,8 +66,9 @@ public class PageToadlet extends Toadlet implements LinkEnabledCallback, LinkFil * Prefix that is prepended to all {@link Page#getPath()} return * values */ - protected PageToadlet(HighLevelSimpleClient highLevelSimpleClient, String menuName, Page page, String pathPrefix) { + protected PageToadlet(HighLevelSimpleClient highLevelSimpleClient, SessionManager sessionManager, String menuName, Page page, String pathPrefix) { super(highLevelSimpleClient); + this.sessionManager = sessionManager; this.menuName = menuName; this.page = page; this.pathPrefix = pathPrefix; @@ -102,7 +106,7 @@ public class PageToadlet extends Toadlet implements LinkEnabledCallback, LinkFil * if the toadlet context is closed */ public void handleMethodGET(URI uri, HTTPRequest httpRequest, ToadletContext toadletContext) throws IOException, ToadletContextClosedException { - handleRequest(new FreenetRequest(uri, Method.GET, httpRequest, toadletContext)); + handleRequest(new FreenetRequest(uri, Method.GET, httpRequest, toadletContext, sessionManager)); } /** @@ -120,7 +124,7 @@ public class PageToadlet extends Toadlet implements LinkEnabledCallback, LinkFil * if the toadlet context is closed */ public void handleMethodPOST(URI uri, HTTPRequest httpRequest, ToadletContext toadletContext) throws IOException, ToadletContextClosedException { - handleRequest(new FreenetRequest(uri, Method.POST, httpRequest, toadletContext)); + handleRequest(new FreenetRequest(uri, Method.POST, httpRequest, toadletContext, sessionManager)); } /** @@ -145,7 +149,7 @@ public class PageToadlet extends Toadlet implements LinkEnabledCallback, LinkFil try (AutoCloseableBucket pageBucket = new AutoCloseableBucket(pageRequest.getToadletContext().getBucketFactory().makeBucket(-1)); OutputStream pageBucketOutputStream = pageBucket.getBucket().getOutputStream()) { Response pageResponse = page.handleRequest(pageRequest, new Response(pageBucketOutputStream)); - MultiValueTable headers = new MultiValueTable(); + MultiValueTable headers = new MultiValueTable<>(); if (pageResponse.getHeaders() != null) { for (Header header : pageResponse.getHeaders()) { for (String value : header) {