Understanding IRules and Syntax
Hi, I'm reading the irule 101 article series. Just wanted some help with the basic understanding of how the irules are structured together.
For example would someone be able to break down the following syntax into its basic core components please. I'm trying to understand how it all links together. I'm not a programmer so I've very limited experience with any languages but happy to put some time investment to help me understand.
when HTTP_REQUEST {
if { [string tolower [HTTP::header exists "x-forwarded-for"]] } { log local0. "XFF_HEADER=[HTTP::header values "X-Forwarded-For"] " }
What is this irule actually doing?
When the HTTP Request some in the F5 takes the HTTP::header and makes it lower case? What does the ' :: ' actually mean ? Is the irule checking to see if an X-forwarded-for exists in the HTTP::header if it does, does it log it to the local log file ( /var/log/ltm ) with a starting statement of XFF header.
How do I know where to add in all the [] and {} I'm getting confused with it all and any help would be brilliant.
Thanks in advance.