X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=inline;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FGetImagePage.java;h=29556c9a42021d771948417840411c9a8d47cddb;hb=f3fae58da73a2b25f307b581b2bffb6788eee856;hp=fdd72a8abda5e341c978fa4e233c3ad8cf1f08b5;hpb=a23c4f218c3adf236d89d5927cae37d6e6e4feda;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/web/GetImagePage.java b/src/main/java/net/pterodactylus/sone/web/GetImagePage.java
index fdd72a8..29556c9 100644
--- a/src/main/java/net/pterodactylus/sone/web/GetImagePage.java
+++ b/src/main/java/net/pterodactylus/sone/web/GetImagePage.java
@@ -17,15 +17,19 @@
package net.pterodactylus.sone.web;
+import java.io.IOException;
+
import net.pterodactylus.sone.data.TemporaryImage;
-import net.pterodactylus.sone.web.page.Page;
+import net.pterodactylus.sone.web.page.FreenetRequest;
+import net.pterodactylus.util.web.Page;
+import net.pterodactylus.util.web.Response;
/**
* Page that delivers a {@link TemporaryImage} to the browser.
*
* @author David âBombeâ Roden
*/
-public class GetImagePage implements Page {
+public class GetImagePage implements Page {
/** The Sone web interface. */
private final WebInterface webInterface;
@@ -52,13 +56,22 @@ public class GetImagePage implements Page {
* {@inheritDoc}
*/
@Override
- public Response handleRequest(Request request) {
+ public boolean isPrefixPage() {
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Response handleRequest(FreenetRequest request, Response response) throws IOException {
String imageId = request.getHttpRequest().getParam("image");
TemporaryImage temporaryImage = webInterface.getCore().getTemporaryImage(imageId);
if (temporaryImage == null) {
- return new Response(404, "Not found.", "text/plain; charset=utf-8", "");
+ return response.setStatusCode(404).setStatusText("Not found.").setContentType("text/html; charset=utf-8");
}
- return new Response(200, "OK", temporaryImage.getMimeType(), temporaryImage.getImageData()).setHeader("Content-Disposition", "attachment; filename=" + temporaryImage.getId() + "." + temporaryImage.getMimeType().substring(temporaryImage.getMimeType().lastIndexOf("/") + 1));
+ String contentType= temporaryImage.getMimeType();
+ return response.setStatusCode(200).setStatusText("OK").setContentType(contentType).addHeader("Content-Disposition", "attachment; filename=" + temporaryImage.getId() + "." + contentType.substring(contentType.lastIndexOf('/') + 1)).write(temporaryImage.getImageData());
}
}