[ 
https://issues.apache.org/jira/browse/TS-3252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan M. Carroll updated TS-3252:
--------------------------------
    Fix Version/s:     (was: 6.1.0)
                   6.2.0

> 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
>            Assignee: Alan M. Carroll
>              Labels: Review
>             Fix For: 6.2.0
>
>         Attachments: 
> 0001-TS-3252-Don-t-chunk-response-body-if-transform_respo.patch
>
>
> 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 in 
> plugin:
> {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(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