Session variables

With the following control API commands it is possible to add and remove arbitrary name/value pairs, so-called session variables, to the Airlock Gateway session. These variables can be used in Client Fingerprinting rules or can be sent to the back-end as environment cookies.

This feature is available since Airlock Gateway 6.1

  • SET_SESSION_VARIABLES: set variables in the session (clear existing variables).
  • ADD_SESSION_VARIABLES: add variables to the session (keep existing variables).
  • REMOVE_SESSION_VARIABLES: remove variables from the session

The command syntax is:

;; SET_SESSION_VARIABLES, ADD_SESSION_VARIABLES, REMOVE_SESSION_VARIABLES
session-variable-command       = session-variable-command-name "=" session-variable-command-value
session-variable-command-name  = "SET_SESSION_VARIABLES" | "ADD_SESSION_VARIABLES" | "REMOVE_SESSION_VARIABLES"
session-variable-command-value = session-variable-definitions
session-variable-definitions   = session-variable-definition [ "," session-variable-definitions ]
                                 ;at this place each 'session-variable-definition' must be percent encoded
session-variable-definition    = session-variable-name [ "=" session-variable-value ]

Example:
The pseudo code example below shows how to set and remove session variables using the control API.

Pseudo code:

response.header="Set-Cookie: AL_CONTROL="+URL_Encode("SET_SESSION_VARIABLES="+URL_Encode("myVariable1=myValue1")+","
+URL_Encode("myVariable2=myValue2"))

Results in:

Set-Cookie: AL_CONTROL=SET_SESSION_VARIABLES%3DmyVariable1%253DmyValue1%2CmyVariable2%253DmyValue2

Pseudo code:

response.header="Set-Cookie: AL_CONTROL="+URL_Encode("REMOVE_SESSION_VARIABLES="+URL_Encode("myVariable1")+","+URL_Encode("myVariable2"))

Results in:

Set-Cookie: AL_CONTROL=REMOVE_SESSION_VARIABLES%3DmyVariable1%2CmyVariable2