Add default implementations that do not allow linking.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 6 Oct 2011 20:15:57 +0000 (22:15 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 6 Oct 2011 20:19:23 +0000 (22:19 +0200)
src/main/java/net/pterodactylus/sone/web/GetImagePage.java
src/main/java/net/pterodactylus/sone/web/ajax/JsonPage.java

index 29556c9..8f0c474 100644 (file)
 package net.pterodactylus.sone.web;
 
 import java.io.IOException;
+import java.net.URI;
 
 import net.pterodactylus.sone.data.TemporaryImage;
+import net.pterodactylus.sone.web.page.FreenetPage;
 import net.pterodactylus.sone.web.page.FreenetRequest;
-import net.pterodactylus.util.web.Page;
 import net.pterodactylus.util.web.Response;
 
 /**
@@ -29,7 +30,7 @@ import net.pterodactylus.util.web.Response;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public class GetImagePage implements Page<FreenetRequest> {
+public class GetImagePage implements FreenetPage {
 
        /** The Sone web interface. */
        private final WebInterface webInterface;
@@ -74,4 +75,12 @@ public class GetImagePage implements Page<FreenetRequest> {
                return response.setStatusCode(200).setStatusText("OK").setContentType(contentType).addHeader("Content-Disposition", "attachment; filename=" + temporaryImage.getId() + "." + contentType.substring(contentType.lastIndexOf('/') + 1)).write(temporaryImage.getImageData());
        }
 
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public boolean isLinkExcepted(URI link) {
+               return false;
+       }
+
 }
index 1e5e8ed..4ee3b99 100644 (file)
 package net.pterodactylus.sone.web.ajax;
 
 import java.io.IOException;
+import java.net.URI;
 
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.web.WebInterface;
+import net.pterodactylus.sone.web.page.FreenetPage;
 import net.pterodactylus.sone.web.page.FreenetRequest;
 import net.pterodactylus.util.json.JsonObject;
 import net.pterodactylus.util.json.JsonUtils;
 import net.pterodactylus.util.web.Page;
 import net.pterodactylus.util.web.Response;
-import freenet.clients.http.SessionManager.Session;
 import freenet.clients.http.ToadletContext;
+import freenet.clients.http.SessionManager.Session;
 
 /**
  * A JSON page is a specialized {@link Page} that will always return a JSON
@@ -35,7 +37,7 @@ import freenet.clients.http.ToadletContext;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public abstract class JsonPage implements Page<FreenetRequest> {
+public abstract class JsonPage implements FreenetPage {
 
        /** The path of the page. */
        private final String path;
@@ -218,4 +220,12 @@ public abstract class JsonPage implements Page<FreenetRequest> {
                return response.setStatusCode(200).setStatusText("OK").setContentType("application/json").write(JsonUtils.format(jsonObject));
        }
 
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public boolean isLinkExcepted(URI link) {
+               return false;
+       }
+
 }