Hi RZ,
For requests, I don't think there is anything we can do in an iRule to reliably collect the full payload. For responses, the general approach if the server uses chunked responses is to downgrade the request to HTTP 1.0 to prevent the server from using chunking.
From http://devcentral.f5.com/wiki/default.aspx/iRules/CreditCardScrubber.html
when HTTP_REQUEST {
Prevent the server from sending a compressed response
remove the compression offerings from the client
HTTP::header remove "Accept-Encoding"
Don't allow response data to be chunked
if { [HTTP::version] eq "1.1" } {
Force downgrade to HTTP 1.0, but still allow keep-alive connections.
Since HTTP 1.1 is keep-alive by default, and 1.0 isn't,
we need make sure the headers reflect the keep-alive status.
Check if this is a keep alive connection
if { [HTTP::header is_keepalive] } {
Replace the connection header value with "Keep-Alive"
HTTP::header replace "Connection" "Keep-Alive"
}
Set server side request version to 1.0
This forces the server to respond without chunking
HTTP::version "1.0"
}
}
Aaron