<%
/*
 * USE CAUTION WHEN EDITING
 * Trailing whitespace OR NEWLINE on the last line will cause
 * IllegalStateExceptions !!!
 *
 * Do not tag this file for translation.
 */

/**
 *  flags.jsp?c=de => icons/flags/de.png
 *  with headers set so the browser caches.
 */
boolean rendered = false;
String c = request.getParameter("c");
if (c != null && c.length() > 0) {
    java.io.OutputStream cout = response.getOutputStream();
    response.setContentType("image/png");
    response.setHeader("Cache-Control", "max-age=86400");  // cache for a day
    String base = net.i2p.I2PAppContext.getGlobalContext().getBaseDir().getAbsolutePath();
    String file = "docs" + java.io.File.separatorChar + "icons" + java.io.File.separatorChar +
                  "flags" + java.io.File.separatorChar + c + ".png";
    try {
        net.i2p.util.FileUtil.readFile(file, base, cout);
        rendered = true;
    } catch (java.io.IOException ioe) {}
    if (rendered)
        cout.close();
}
/*
 *  Send a 403 instead of a 404, because the server sends error.jsp
 *  for 404 errors, complete with the summary bar, which would be
 *  a huge load for a page full of flags if the user didn't have the
 *  flags directory for some reason.
 */
if (!rendered)
    response.sendError(403, "Flag not found");
%>