Forum Discussion

F5workuserguy's avatar
F5workuserguy
Icon for Altostratus rankAltostratus
Aug 30, 2023
Solved

set TOKEN [getfield [HTTP::uri]

I have two rules that work on there own, not sure how to combine them into one.   when HTTP_REQUEST { set HOST [string tolower [HTTP::host]] set TOKEN [getfield [HTTP::uri] "/?r=" 2] HTTP::respond...
  • Paulius's avatar
    Paulius
    Sep 01, 2023

    F5workuserguy I'm not understanding the tinyURL piece because I was under the impression that the tinyURL service is what mapped to your URL for you and then you receive the full intended request. Can you provide an example of what each request would look like when it arrives to your F5 so we can formulate an iRule that will handle the request? For now you might try the following and see if that works for your purposes. I removed you creation of the HOST variable because you were not using it so it isn't necessary.

    when HTTP_REQUEST priority 500 {
    
        if { [HTTP::uri] contains "/?r=" } {
            set TOKEN [getfield [HTTP::uri] "/?r=" 2]
            HTTP::respond 302 Location "https://www2.google.com/gui/reloan/getstarted?code=${TOKEN}" Connection Close
        } else {
            set TOKEN [getfield [HTTP::uri] "/" 2]
            HTTP::respond 302 Location "https://www1.google.com/ShortUrlLanding/?lmco=${TOKEN}" Connection Close
        }
    
    }