F5workuserguy
Aug 30, 2023Altostratus
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 302 Location "https://www2.google.com/gui/reloan/getstarted?code=$TOKEN" Connection Close
}
when HTTP_REQUEST {
set HOST [string tolower [HTTP::host]]
set TOKEN [getfield [HTTP::uri] "/" 2]
HTTP::respond 302 Location "https://www1.google.com/ShortUrlLanding/?lmco=$TOKEN" Connection Close
}
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 } }