si->applet.ctx.stats.sid = atoi(args[4]);
}
- si->applet.ctx.stats.flags |= STAT_FMT_CSV;
si->conn->xprt_st = STAT_ST_INIT;
si->applet.st0 = STAT_CLI_O_STAT; // stats_dump_stat_to_buffer
}
else if (strcmp(args[1], "info") == 0) {
- si->applet.ctx.stats.flags |= STAT_FMT_CSV;
si->conn->xprt_st = STAT_ST_INIT;
si->applet.st0 = STAT_CLI_O_INFO; // stats_dump_info_to_buffer
}
if ((si->applet.ctx.stats.flags & STAT_BOUND) && !(si->applet.ctx.stats.type & (1 << STATS_TYPE_FE)))
return 0;
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) {
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
chunk_appendf(&trash,
/* name, queue */
"<tr class=\"frontend\">");
*/
static int stats_dump_li_stats(struct stream_interface *si, struct proxy *px, struct listener *l, int flags)
{
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) {
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
chunk_appendf(&trash, "<tr class=socket>");
if (px->cap & PR_CAP_BE && px->srv && (si->applet.ctx.stats.flags & STAT_ADMIN)) {
/* Column sub-heading for Enable or Disable server */
struct chunk src;
int i;
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) { /* HTML mode */
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
static char *srv_hlt_st[7] = {
"DOWN",
"DN %d/%d ↑",
if ((si->applet.ctx.stats.flags & STAT_BOUND) && !(si->applet.ctx.stats.type & (1 << STATS_TYPE_BE)))
return 0;
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) { /* HTML mode */
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
chunk_appendf(&trash, "<tr class=\"backend\">");
if (px->srv && (si->applet.ctx.stats.flags & STAT_ADMIN)) {
/* Column sub-heading for Enable or Disable server */
/* fall through */
case STAT_PX_ST_TH:
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) {
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
stats_dump_html_px_hdr(si, px, uri);
if (bi_putchk(rep, &trash) == -1)
return 0;
/* fall through */
case STAT_PX_ST_END:
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) {
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
stats_dump_html_px_end(si, px);
if (bi_putchk(rep, &trash) == -1)
return 0;
/* fall through */
case STAT_ST_HEAD:
- if (si->applet.ctx.stats.flags & STAT_FMT_CSV)
- stats_dump_csv_header();
- else
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML)
stats_dump_html_head(uri);
+ else
+ stats_dump_csv_header();
if (bi_putchk(rep, &trash) == -1)
return 0;
/* fall through */
case STAT_ST_INFO:
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) {
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
stats_dump_html_info(si, uri);
if (bi_putchk(rep, &trash) == -1)
return 0;
/* fall through */
case STAT_ST_END:
- if (!(si->applet.ctx.stats.flags & STAT_FMT_CSV)) {
+ if (si->applet.ctx.stats.flags & STAT_FMT_HTML) {
stats_dump_html_end();
if (bi_putchk(rep, &trash) == -1)
return 0;
"Cache-Control: no-cache\r\n"
"Connection: close\r\n"
"Content-Type: %s\r\n",
- (si->applet.ctx.stats.flags & STAT_FMT_CSV) ? "text/plain" : "text/html");
+ (si->applet.ctx.stats.flags & STAT_FMT_HTML) ? "text/html" : "text/plain");
if (uri->refresh > 0 && !(si->applet.ctx.stats.flags & STAT_NO_REFRESH))
chunk_appendf(&trash, "Refresh: %d\r\n",
memset(&si->applet.ctx.stats, 0, sizeof(si->applet.ctx.stats));
si->applet.ctx.stats.st_code = STAT_STATUS_INIT;
+ si->applet.ctx.stats.flags |= STAT_FMT_HTML; /* assume HTML mode by default */
/* check URI size */
if (uri_auth->uri_len > msg->sl.rq.u_l)
h = uri + uri_auth->uri_len;
while (h <= uri + msg->sl.rq.u_l - 4) {
if (memcmp(h, ";csv", 4) == 0) {
- si->applet.ctx.stats.flags |= STAT_FMT_CSV;
+ si->applet.ctx.stats.flags &= ~STAT_FMT_HTML;
break;
}
h++;