You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Alan M. Carroll (JIRA)" <ji...@apache.org> on 2016/04/08 19:42:25 UTC
[jira] [Updated] (TS-3252) Don't chunk response body if
transform_response_cl is valid
[ 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.2.0)
7.0.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: 7.0.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)