Hi Nick,
Are you calling HTTP::collect to tell TMM to buffer the response content? If so, can you post your HTTP_RESPONSE code? If not, can you try something like this:
when HTTP_RESPONSE {
Trigger collection for up to 1MB of data
if {[HTTP::header exists "Content-Length"] && [HTTP::header "Content-Length"] <= 1048576}{
set content_length [HTTP::header "Content-Length"]
} else {
set content_length 1048576
}
Check if $content_length is not set to 0
if { content_length > 0} {
HTTP::collect $content_length
}
}
when HTTP_RESPONSE_DATA {
do stuff with the payload
set payload [HTTP::payload]
}
If the app uses chunking or compression, you can use this section as well:
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 data to be chunked
if { [HTTP::version] eq "1.1" } {
Force downgrade to HTTP 1.0, but still allow keep-alive connections.
Since 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"
}
}
when HTTP_RESPONSE {
Trigger collection for up to 1MB of data
if {[HTTP::header exists "Content-Length"] && [HTTP::header "Content-Length"] <= 1048576}{
set content_length [HTTP::header "Content-Length"]
} else {
set content_length 1048576
}
Check if $content_length is not set to 0
if { content_length > 0} {
HTTP::collect $content_length
}
}
when HTTP_RESPONSE_DATA {
do stuff with the payload
set payload [HTTP::payload]
}
Aaron