31-Jan-2023 21:47
Hi Dear community ,
I woud appreciate your input. I want to replace a string inside a HTTP::payload with string map or regsub and then HTTP::payload replace. The replacement does take place but it also break the non-english [UTF-8] characters inside the HTML.
I tried implementing all the soultions I found inside DevCentral. Including these:
https://support.f5.com/csp/article/K22406348
https://clouddocs.f5.com/api/irules/HTTP__payload.html
Btw, Stream profile does work fine , but it's not very compatible with APM Virtual Servers.
Best Regards,
Adir
Solved! Go to Solution.
07-Feb-2023 03:28
Can you try adding
binary scan $new_data @0
in the HTTP_RESPONSE_DATA event handler? I think that's the missing piece per https://support.f5.com/csp/article/K22406348.
02-Feb-2023 14:32
Adir,
Thanks for posting your question on DevCentral. Could you post your current iRule for easier diagnosis?
Thanks
04-Feb-2023
10:26
- last edited on
06-Feb-2023
17:23
by
Leslie_Hubertus
when RULE_INIT {
# Limit payload collection to 5Mb
set static::max_collect_len 5368709
# Max characters to log locally (must be less than 1024 bytes)
set static::max_chars 900
}
when HTTP_REQUEST {
set collect 0
if { [HTTP::path] eq "*" } {
set collect 1
}
}
when HTTP_RESPONSE {
if { $collect eq 1 } {
if {[HTTP::header exists "Content-Length"]}{
set collect_length_resp [HTTP::header "Content-Length"]
log local0. "Content-Length exists [HTTP::header "Content-Length"]"
} else {
HTTP::payload rechunk
set collect_length_resp $static::max_collect_len
}
HTTP::collect $collect_length_resp
}
}
when HTTP_RESPONSE_DATA {
log local0. "Response Collected [HTTP::payload length] bytes"
set newData [string map { * **} [HTTP::payload]]
HTTP::payload replace 0 $collect_length_resp $newData
HTTP::payload rechunk
HTTP::release
}
Edited by @Leslie_Hubertus to tag G-Rob to make sure he sees the follow-up. 🙂
07-Feb-2023 03:28
Can you try adding
binary scan $new_data @0
in the HTTP_RESPONSE_DATA event handler? I think that's the missing piece per https://support.f5.com/csp/article/K22406348.
08-Feb-2023 14:38
@G-Rob Hi Rob,
It's very weird becasue I already tried this command before I open this thread - You can see I event reference this K article in my original post. But Thanks to you I did try it again, and it looks like now it's working great, Thanks a ton.
Best Regards,
Adir