Commit 99017dbc authored by Jim Jagielski's avatar Jim Jagielski
Browse files

might as well allow for the sticky session to be adjusted as well...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1067206 13f79535-47bb-0310-9956-ffa450edef68
parent e148e287
Loading
Loading
Loading
Loading
+26 −1
Changes for modules/proxy/mod_proxy_balancer.c: 26 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -989,6 +989,22 @@ static int balancer_handler(request_rec *r)
            ival = atoi(val);
            bsel->s->sticky_force = (ival != 0);
        }
        if ((val = apr_table_get(params, "b_ss")) && *val) {
            if (strlen(val) < (PROXY_BALANCER_MAX_STICKY_SIZE-1)) {
                if (*val == '-' && *(val+1) == '\0')
                    *bsel->s->sticky_path = *bsel->s->sticky = '\0';
                else {
                    char *path;
                    PROXY_STRNCPY(bsel->s->sticky_path, val);
                    PROXY_STRNCPY(bsel->s->sticky, val);

                    if ((path = strchr((char *)bsel->s->sticky, '|'))) {
                        *path++ = '\0';
                        PROXY_STRNCPY(bsel->s->sticky_path, path);
                    }
                }
            }
        }
    }

    if (apr_table_get(params, "xml")) {
@@ -1054,7 +1070,7 @@ static int balancer_handler(request_rec *r)
                }
            }
            else {
                ap_rputs("<td align='center'> - ", r);
                ap_rputs("<td align='center'> (None) ", r);
            }
            ap_rprintf(r, "<td align='center'>%s</td>\n",
                       balancer->s->sticky_force ? "On" : "Off");
@@ -1162,6 +1178,15 @@ static int balancer_handler(request_rec *r)
            ap_rprintf(r, "value='%d'></td></tr>\n", bsel->s->max_attempts);
            ap_rputs("<tr><td>Disable Failover:</td>", r);
            create_radio("b_sforce", bsel->s->sticky_force, r);
            ap_rputs("<tr><td>Sticky Session:</td><td><input name='b_ss' id='b_ss' size=64 type=text ", r);
            if (strcmp(bsel->s->sticky, bsel->s->sticky_path)) {
                ap_rvputs(r, "value ='", bsel->s->sticky, " | ",
                          bsel->s->sticky_path, NULL);
            }
            else {
                ap_rvputs(r, "value ='", bsel->s->sticky, NULL);
            }
            ap_rputs("'> (Use '-' to delete)</td></tr>\n", r);
            ap_rputs("<tr><td colspan=2><input type=submit value='Submit'></td></tr>\n", r);
            ap_rvputs(r, "</table>\n<input type=hidden name='b' id='b' ", NULL);
            ap_rvputs(r, "value='", bsel->name + sizeof(BALANCER_PREFIX) - 1,