X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=accelerator%2Fsrc%2Ftest%2Fjava%2Fde%2Fjuplo%2Faccelerator%2FTestServlet.java;fp=accelerator%2Fsrc%2Ftest%2Fjava%2Fde%2Fjuplo%2Faccelerator%2FTestServlet.java;h=769269c7255ecccdc711245fbc4756c6650073f5;hp=0000000000000000000000000000000000000000;hb=a6e0e65cce68acb20abc6ca935471611a740c342;hpb=1d395c6002486d485bde0d5dc713886d70bd3f8a diff --git a/accelerator/src/test/java/de/juplo/accelerator/TestServlet.java b/accelerator/src/test/java/de/juplo/accelerator/TestServlet.java new file mode 100644 index 00000000..769269c7 --- /dev/null +++ b/accelerator/src/test/java/de/juplo/accelerator/TestServlet.java @@ -0,0 +1,81 @@ +package de.juplo.accelerator; + +import java.io.IOException; +import java.util.Map; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.junit.Ignore; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * @author kai + */ +@Ignore +public class TestServlet extends HttpServlet { + private final static Logger log = LoggerFactory.getLogger(TestServlet.class); + + private static final String FORWARDED = TestServlet.class.getName() + ".FORWARDED"; + private static final String INCLUDED = TestServlet.class.getName() + ".INCLUDED"; + + @Override + protected long getLastModified(HttpServletRequest req) { + try { + /** Der Reqeust-Parameter "lm" wird als Wert für Last-Modified zurückgegeben */ + return Long.parseLong(req.getParameter("l")); + } + catch (Exception e) { + return -1l; + } + } + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + /** Angeforderte Header setzen */ + Map map = request.getParameterMap(); + for (String param : map.keySet()) { + if (param.equals("n") || param.equals("l") || param.equals("f") || param.equals("i")) + continue; + /** + * Alle Request-Parameter außer die Sonder-Parameter "n" und "lm" + * werden als Schlüssel/Wert-Paare für die Antwort-Header interpretiert! + */ + for (String value : map.get(param)) + response.setHeader(param, value); + } + + int n = 0; + try { + /** + * Wenn der Parameter n gesetzt ist, wird ein Antwort-Body erzeugt, der + * exakt die Anzahl der geforderten Bytes enthält. + */ + n = Integer.parseInt(request.getParameter("n")); + } + catch(Exception e) {} + log.debug("GET {} bytes: {}", n, request.getRequestURI()); + ServletOutputStream out = response.getOutputStream(); + for (int i=0; i