//完成根据HTTP请求的uri组成,选用不用的节点池作为投递目标的例子
when HTTP_REQUEST
{
set pool "Pool"
if { [HTTP::method] == "GET" }
{
set URI [HTTP::uri]
set URI_MID [lindex [split $URI "/"] 2]
if { [ matchclass $URI_MID starts_with $::MMSCAR_serverid_class ] }
{
set SVRNUM [substr $URI_MID 0 2]
set PN [join "svr $SVRNUM" ""]
set pool_name [join "MMSCAR $pool $PN" "_"]
pool $pool_name
}
else
{
pool MMSCAR_Pool_svr00
}
}
elseif { [HTTP::method] == "POST" }
{
HTTP::collect 40
}
}
when HTTP_REQUEST_DATA
{
set HTTP_CONTENT [HTTP::payload]
set MMS_RES [ string range $HTTP_CONTENT 0 2]
set M_notifyresp_ind /x8c/x83/x98
set M_acknowledge_ind /x8c/x85/x98
set M_forward_req /x8c/x89/x98
if { ($MMS_RES == $M_notifyresp_ind) or ($MMS_RES == $M_acknowledge_ind) or ($MMS_RES == $M_forward_req) }
{
if { [ matchclass $HTTP_CONTENT starts_with $::MMSCAR_serverid_class ] }
{
set SVRNUM [substr $HTTP_CONTENT 2 4]
set PN [join "svr $SVRNUM" ""]
set pool_name [join "MMSCAR $pool $PN" "_"]
pool $pool_name
}
else
{
pool MMSCAR_Pool_svr00
}
}
else
{
pool MMSCAR_Pool_svr01
}
}