You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "portl4t (JIRA)" <ji...@apache.org> on 2014/12/19 15:32:13 UTC

[jira] [Closed] (TS-3253) Don't chunk response body if transform_response_cl is valid

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

portl4t closed TS-3253.
-----------------------
    Resolution: Duplicate

duplicated

> Don't chunk response body if transform_response_cl is valid
> -----------------------------------------------------------
>
>                 Key: TS-3253
>                 URL: https://issues.apache.org/jira/browse/TS-3253
>             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)