Forum Discussion
JustCooLpOOLe
Cirrocumulus
Nov 07, 2017Need Help with iRule
Example URL:
http://test.test.com/t/BA/CkA/E2I/ABqYWA/AA/MTUxMzV8aHR0cHM6Ly9wcm8ubW9uZXltYXBwcmVzcy5jb20vbS83ODM4MzM-ZW1haWw9Sk9ITiU0MDE0d2VzdGl0Lm9ubWljcm9zb2Z0LmNvbSZhPTQmbz0yNjI0JnM9NDk2MiZ1P...
JRahm
Admin
Nov 07, 2017regex should be avoided at all cost. A simple string map would be appropriate here. Just in the tcl shell, this is accomplished with an lindex/split (you can use getfield in an iRule which is just an lindex/split shortcut):
% set x "/t/BA/CkA/E2I/ABqYWA/AA/MTUxMzV8aHR0cHM6Ly9wcm8ubW9uZXltYXBwcmVzcy5jb20vbS83ODM4MzM-ZW1haWw9Sk9ITiU0MDE0d2VzdGl0Lm9ubWljcm9zb2Z0LmNvbSZhPTQmbz0yNjI0JnM9NDk2MiZ1PTE3NDI5MzYmbD0xNTEzNSZyPU1DMiZ2aWQ9NDJjTGZKJmc9MA/AQ/fWN2"
/t/BA/CkA/E2I/ABqYWA/AA/MTUxMzV8aHR0cHM6Ly9wcm8ubW9uZXltYXBwcmVzcy5jb20vbS83ODM4MzM-ZW1haWw9Sk9ITiU0MDE0d2VzdGl0Lm9ubWljcm9zb2Z0LmNvbSZhPTQmbz0yNjI0JnM9NDk2MiZ1PTE3NDI5MzYmbD0xNTEzNSZyPU1DMiZ2aWQ9NDJjTGZKJmc9MA/AQ/fWN2
% set y [lindex [split $x /] 7]
MTUxMzV8aHR0cHM6Ly9wcm8ubW9uZXltYXBwcmVzcy5jb20vbS83ODM4MzM-ZW1haWw9Sk9ITiU0MDE0d2VzdGl0Lm9ubWljcm9zb2Z0LmNvbSZhPTQmbz0yNjI0JnM9NDk2MiZ1PTE3NDI5MzYmbD0xNTEzNSZyPU1DMiZ2aWQ9NDJjTGZKJmc9MA
% string map [list ${y} ${y}.] $x
/t/BA/CkA/E2I/ABqYWA/AA/MTUxMzV8aHR0cHM6Ly9wcm8ubW9uZXltYXBwcmVzcy5jb20vbS83ODM4MzM-ZW1haWw9Sk9ITiU0MDE0d2VzdGl0Lm9ubWljcm9zb2Z0LmNvbSZhPTQmbz0yNjI0JnM9NDk2MiZ1PTE3NDI5MzYmbD0xNTEzNSZyPU1DMiZ2aWQ9NDJjTGZKJmc9MA./AQ/fWN2
In the iRule, it will consolidate to something like this:
set uri_chunk [getfield [HTTP::uri] / 8]
string map [list ${uri_chunk} ${uri_chunk}.] [HTTP::uri]
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
