37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
![]() |
<%
|
||
|
net.i2p.stat.Rate rate = null;
|
||
|
String stat = request.getParameter("stat");
|
||
|
String period = request.getParameter("period");
|
||
|
net.i2p.stat.RateStat rs = net.i2p.I2PAppContext.getGlobalContext().statManager().getRate(stat);
|
||
|
boolean rendered = false;
|
||
|
if (rs != null) {
|
||
|
long per = -1;
|
||
|
try {
|
||
|
per = Long.parseLong(period);
|
||
|
rate = rs.getRate(per);
|
||
|
if (rate != null) {
|
||
|
java.io.OutputStream cout = response.getOutputStream();
|
||
|
String format = request.getParameter("format");
|
||
|
if ("xml".equals(format)) {
|
||
|
response.setContentType("text/xml");
|
||
|
rendered = net.i2p.router.web.StatSummarizer.instance().getXML(rate, cout);
|
||
|
} else {
|
||
|
response.setContentType("image/png");
|
||
|
int width = -1;
|
||
|
int height = -1;
|
||
|
String str = request.getParameter("width");
|
||
|
if (str != null) try { width = Integer.parseInt(str); } catch (NumberFormatException nfe) {}
|
||
|
str = request.getParameter("height");
|
||
|
if (str != null) try { height = Integer.parseInt(str); } catch (NumberFormatException nfe) {}
|
||
|
rendered = net.i2p.router.web.StatSummarizer.instance().renderPng(rate, cout, width, height);
|
||
|
}
|
||
|
if (rendered)
|
||
|
cout.close();
|
||
|
//System.out.println("Rendered period " + per + " for the stat " + stat + "? " + rendered);
|
||
|
}
|
||
|
} catch (NumberFormatException nfe) {}
|
||
|
}
|
||
|
if (!rendered) {
|
||
|
response.sendError(404, "That stat is not available");
|
||
|
}
|
||
|
%>
|