Hi Rise,
Do you want to redirect the client to a new HTTP URI or direct them to a specific destination IP:port from the payload? If the latter, how would you want to validate the IP:ports to ensure a client can't access any arbitrary host?
In general you can collect an HTTP payload using HTTP::collect and in HTTP_REQUEST_DATA check the [HTTP::payload] value and select a pool member or destination node IP:port. Here are a few links to get started with:
https://devcentral.f5.com/wiki/iRules.http__collect.ashx
https://devcentral.f5.com/wiki/iRules.HTTP_REQUEST_DATA.ashx
https://devcentral.f5.com/wiki/iRules.http__payload.ashx
https://devcentral.f5.com/wiki/iRules.pool.ashx
https://devcentral.f5.com/wiki/iRules.node.ashx
If you want to check the IP:port from the payload against a list of allowed destination IP:ports, you could store them in a string data group and use the class command to do a lookup:
https://devcentral.f5.com/wiki/iRules.class.ashx
Aaron