Forum Discussion

Anush's avatar
Anush
Icon for Nimbostratus rankNimbostratus
Aug 11, 2016

TCL errors

we have following irule configured and it's throwing large amount of TCL errors evenif logging is disable for the irule. It's working ok and in production but not sure why it cause TCL errors

 

when HTTP_REQUEST {
     Redirect request to the matching data_group value

    set redirect_url [class match -value [string tolower [HTTP::uri]] equals VURL_[string tolower [HTTP::host]]]
    log local0. "Redirecting: [HTTP::host][string tolower [HTTP::uri]] to $redirect_url "
    HTTP::redirect $redirect_url

}
}

 

TCL errors

Aug 11 06:30:09 slot1/PRD err tmm[19587]: 01220001:3: TCL error: /Common/VanityIRule - Could not find class VURL_google (line 1) invoked from within "class match -value [string tolower [HTTP::uri]] equals VURL_[string tolower [HTTP::host]]"

Aug 11 06:30:09 slot1/PRD err tmm[19587]: 01220001:3: TCL error: /Common/VanityIRule - Could not find class VURL_google (line 3) invoked from within "class match -value [string tolower [HTTP::uri]] equals VURL_[string tolower [HTTP::host]]"

Thanks

15 Replies

  • HTTP::path will return the path exactly as it was requested, using the precise case requested. My point above is that, by specification, the Request-URI (including the path element) is case-sensitive. However, when passing through the path to an underlying filesystem that is not case-sensitive, the behavior probably depends on the configuration of the server software. For Apache on Linux using ext3/4 (unless you intentionally change it with, e.g., mod_spelling), the following Request-URI paths are all different and distinct:

     

    /abc/def.html
    /ABC/def.html
    /abc/Def.html
    /abc/def.HTML
    

     

    etc.