package uk.co.pembo.e2stream.server.handlers;
import com.sun.net.httpserver.*;
import java.io.*;
import java.util.List;
import uk.co.pembo.e2stream.server.AlternateDirectory;
import uk.co.pembo.e2stream.server.Settings;
import uk.co.pembo.utils.Logger;
public class OtherWidgetDownload
implements HttpHandler
{
public OtherWidgetDownload()
{
}
public void handle(HttpExchange t)
throws IOException
{
int index = ((Integer)t.getAttribute("idx")).intValue();
String filename = (String)AlternateDirectory.getFilenames().get(index);
Logger.logInfo((new StringBuilder("TV Downloading Other Package - Index [")).append(index).append("] filename [").append(filename).append("]").toString());
byte file[] = (byte[])AlternateDirectory.getFiles().get(index);
String response = xmlResponse;
Headers responseHeaders = t.getResponseHeaders();
responseHeaders.set("Content-type", "application/octet-stream");
responseHeaders.set("Content-disposition", (new StringBuilder("filename=")).append(filename).toString());
t.sendResponseHeaders(200, file.length);
OutputStream os = t.getResponseBody();
os.write(file);
os.close();
Logger.logInfo("Download Complete");
}
private static String xmlResponse = (new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><rsp stat=\"ok\"><list><widget id=\"")).append(Settings.getId()).append("\">").append("<title>").append(Settings.getTitle()).append("</title>").append("<compression size=\"[SIZE]\" type=\"zip\"/>").append("<description>").append(Settings.getDescrption()).append("</description>").append("<download>http://").append(Settings.getIpAddress()).append("/Widget/").append(Settings.getFilename()).append("</download>").append("</widget>").append("</list>").append("</rsp>").toString();
}