Forum Discussion

Satriaji's avatar
Satriaji
Icon for Cirrus rankCirrus
Sep 17, 2021

TCL Error After Upgrade to OS 14.1.4.4

Hi All,

After Upgrade to new OS version. I find the TCL error message :

 

TCL error: /Common/irule_akamai_ibank_validates <HTTP_REQUEST> - Can't call after responding - ERR_NOT_SUPPORTED (line 1)   invoked from within "HTTP::header exists "X-BNI-AKAMAI""

 

Here the irule_akamai_ibank_validates content :

====================================

when HTTP_REQUEST {

 if {[HTTP::header exists "X-BNI-AKAMAI"] } {

    if {[HTTP::header "X-BNI-AKAMAI"] equals "BNI-Akamai-2015"}{

  } else {

   discard

  }

 } else {

  discard

 }

}

====================================

 

I just find the article F5 : https://clouddocs.f5.com/api/irules/HTTP__header.html , but I can find the example for modify HTTP:header exists. the article just said "Returns true if the named header is present and not empty on the request or response".

 

Anyone can modify that irules to remove the TCL Error ??

 

Thanks so much.

7 Replies

  • Hi Satriaji,

    Starting in version 14.1.0 the following log line may appear:

    01220001:3: TCL error: /Common/<iRule_name> <HTTP_REQUEST> - ERR_NOT_SUPPORTED (line 1)    invoked from within "HTTP::host"

    https://support.f5.com/csp/article/K23237429

    when HTTP_REQUEST {
    	if { [HTTP::has_responded] } { return }
    	if { [HTTP::header exists "X-BNI-AKAMAI"] && [HTTP::header "X-BNI-AKAMAI"] equals "BNI-Akamai-2015" } {
    		#
    	}
    	else {
    		discard
    	}
    }

    You can add the line containing HTTP::has_responded to the iRules that generates TCL errors.

    • Satriaji's avatar
      Satriaji
      Icon for Cirrus rankCirrus

      Oke Enes, I will try it. But, what the function of "#" in your iRules ?

      • It is comment character. Using it will have no effect.

        	if { [HTTP::header exists "X-BNI-AKAMAI"] && [HTTP::header "X-BNI-AKAMAI"] equals "BNI-Akamai-2015" } {
        		# do nothing
        	}
  • Hii Enes,

     

    its also work, just adding in line 4 (HTTP:has_responded) and return in line 4, and return in line 13.