For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

alex100's avatar
alex100
Icon for Cirrostratus rankCirrostratus
Oct 03, 2016

Combining variables in iRule (proper syntax)

Hi all,

I am working on the iRule where I need to dissect the URI query to extract value of the specific field (xyz). For example:

https://sitea.mycompany.com/login.aspx?abc=176560143&ClientNameSingleSite=xyz

I am able to set the target variable by doing the following:

set string [URI::query [HTTP::uri]]
set fields [split $string "="]
set name [lindex $fields 2]

however variable $name needs a "/" character added in the front of it to be matched against data group later.

I am not able to figure out the propper syntaxsys to do it all in one line so I i am setting a temp variable and then concatenating two string variables into one:

set temp "/"
set newname "$temp$name"

So,I am trying to eliminate two last lines and have $name variable set to contain "/" when variable is set initially. So far I have not been able to figure out the right way to do it, but I guess it should be something similar to this:

set name ["/"+[lindex $field 2]]

Can someone guide me on proper syntax for this.. Thanks.

2 Replies

  • I am not sure which one of these may suit your requirements but I am throwing a few options so you can try it out:

    Can you try and use

    set newname /$name

    or

    may be remove the / from the data group

    or

    use

    append newname / $name

    or

    set newname /${name}

  • Hi,

    the best way is to use the command URI::query:

    set name [URI::query [HTTP::uri] ClientNameSingleSite]