Forum Discussion
Brandon
Cirrostratus
Feb 03, 2021irule to look to see if the value is in the Body
I was trying to figure out how to write an iRule to look for a parameter in the Body. I thought the token would be in the header. However the developer put it in the body. How do I look in the body o...
Amine_Kadimi
MVP
Feb 03, 2021when HTTP_REQUEST {
if {[HTTP::method] eq "POST"}{
if {[HTTP::header "Content-Length"] ne "" && [HTTP::header "Content-Length"] <= 1048576}{
set content_length [HTTP::header "Content-Length"]
} else {
set content_length 1048576
}
if { $content_length > 0} {
HTTP::collect $content_length
}
}
}
when HTTP_REQUEST_DATA {
log local0. "Token = [findstr [HTTP::payload] "token=" 6 &]"
}- Daniel_WolfFeb 04, 2021
MVP
This is the way, however I would be careful to implement it. I'd recommend to do performance testing before deploying it in a production environment.
Just recently I had a similar requirement and it works good with small requests. However the customer had POST requests up to 400kb. Then this suddenly becomes heavy on the CPU.
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
