Fortinet white logo
Fortinet white logo

Script Reference Guide

Assign server in PostPersist

Assign server in PostPersist

You can get the current assigned server in PostPersist and assign the real server you desire by setting the table and lookup in PERSISTENCE.

Get the current assigned server in PostPersist to assign another real server:
when RULE_INIT {
    env={}
    PROXY:init_stick_tbl_timeout(1000)
}
when PERSISTENCE {
    debug("PERSIST \n");
    t={};
    t["hash_value"]= "hash_str";
    ret = HTTP:lookup_tbl(t);
    if ret then
        debug("LOOKUP success\n");
    else
        debug("LOOKUP fail\n");
    end
}
when POST_PERSIST {
    debug("POST PERSIST \n");
    t={};
    t["operation"] = "get_current_assigned_server"
    ret_tbl = HTTP: persist(t)
    if ret then
        debug("assign to %s\n", ret_tbl);
    else
        debug("get_current_assigned_server failed\n");
    end
 
    t={};
    t["operation"] = "save_tbl";
    t["hash_value"]= "hash_str";
    t["srv_name"]= "rsrv_70";  
    ret = HTTP: persist(t)
    if ret then
        debug("save table success\n");
    else
        debug("save table failed\n");
    end
}

Assign server in PostPersist

Assign server in PostPersist

You can get the current assigned server in PostPersist and assign the real server you desire by setting the table and lookup in PERSISTENCE.

Get the current assigned server in PostPersist to assign another real server:
when RULE_INIT {
    env={}
    PROXY:init_stick_tbl_timeout(1000)
}
when PERSISTENCE {
    debug("PERSIST \n");
    t={};
    t["hash_value"]= "hash_str";
    ret = HTTP:lookup_tbl(t);
    if ret then
        debug("LOOKUP success\n");
    else
        debug("LOOKUP fail\n");
    end
}
when POST_PERSIST {
    debug("POST PERSIST \n");
    t={};
    t["operation"] = "get_current_assigned_server"
    ret_tbl = HTTP: persist(t)
    if ret then
        debug("assign to %s\n", ret_tbl);
    else
        debug("get_current_assigned_server failed\n");
    end
 
    t={};
    t["operation"] = "save_tbl";
    t["hash_value"]= "hash_str";
    t["srv_name"]= "rsrv_70";  
    ret = HTTP: persist(t)
    if ret then
        debug("save table success\n");
    else
        debug("save table failed\n");
    end
}