portl4t created TS-3252:
---------------------------

             Summary: Don't chunk response body if transform_response_cl is 
valid
                 Key: TS-3252
                 URL: https://issues.apache.org/jira/browse/TS-3252
             Project: Traffic Server
          Issue Type: Improvement
          Components: Core, HTTP
            Reporter: portl4t


The way as I see, the client will get chunked response from ATS if the origin 
server issues a chunked response to ATS.

I am wondering whether this can be changed if there is a transfrom plugin 
exists and the transform can insure transform_response_cl is valid. This can be 
done by TSVConnWrite(...) with a valid nbytes(not INT64_MAX) in transform 
handler.

Here is an example, I want to response "abcdefg" in transform handler, no 
matter what is received from upstream, and I can write code like this is 
plugins:

{code}
static int transform_handler(...)
{
        ...
        output.buffer = TSIOBufferCreate();
        output.reader = TSIOBufferReaderAlloc(output.buffer);
        output.vio = TSVConnWrite(output_conn, contp, output.reader, 
sizeof("abcdefg")-1);

        TSIOBufferWrite(ytc->output.buffer, "abcdefg", sizeof("abcdefg")-1);

        TSVIOReenable(output.vio);

        ...
}
{code}


However, the response body to the client will be chunked if ATS got chunked 
response from origin server. Maybe we can change this by refining the function 
HttpTransact::handle_response_keep_alive_headers(...)





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to