Forum Discussion
TMaCEvans_92750
Jan 17, 2011Nimbostratus
nesting switch within aif statement
I'm trying to nest a switch statement in a if statement but am getting a parse error
[parse error: PARSE syntax 302 syntax\ error\ in\ expression\ \"\ switch\ -glob\ \[string\ tolower\ \[HTTP::uri\]\]\ \{\n\t\t\""/fr/app*"\"\ -\n...\":\ variable\ references\ require\ preceding\ \$] [{ switch -glob [string tolower [HTTP::uri]] {
can anybody see my error or suggest a alternative method
when HTTP_REQUEST {
if { [URI::path [HTTP::path]] starts_with "/xyz/" || [HTTP::query] contains "xy=9" } {
if { [HTTP::method] equals "GET" && [HTTP::header exists "Upgrade"] && [HTTP::header Upgrade] contains "WebSocket" } {
HTTP::disable
}
pool pool3
} elseif { switch -glob [string tolower [HTTP::uri]] {
"/fr/app*"{ pool pool2 }
default{ pool Pool1 }
}
} else {
pool pool1
}
}
- Brian_8606Nimbostratus
We ran into this same issue, and we were able to get past it by adding a 'tolower' conversion as follows:
when HTTP_REQUEST {
if { [string tolower [HTTP::header Upgrade]] contains "websocket" }
{
HTTP::disable
pool pool_pool1_ws
}
else
{
pool pool_pool1_http
}
}
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects