Forum Discussion
Rostislav_Zato1
Jun 10, 2011Nimbostratus
Collecting chunked POST body?
Hello All,
Have some problems to collect a chunked body.
Message is coming with Transfer-encoding: chunked, then then Body starts with chunk size, but the chunk size can be 0 or al...
hooleylist
Jun 10, 2011Cirrostratus
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
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