You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Ravi Undupitiya (JIRA)" <ji...@apache.org> on 2016/05/30 14:36:12 UTC

[jira] [Commented] (SYNAPSE-1028) Possible Bugs in Code for Handling Content Length Encoding

    [ https://issues.apache.org/jira/browse/SYNAPSE-1028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15306714#comment-15306714 ] 

Ravi Undupitiya commented on SYNAPSE-1028:
------------------------------------------

I will look into this. I recall a similar fix done by Isuru Ranawaka reported in https://wso2.org/jira/browse/ESBJAVA-3297. 

> Possible Bugs in Code for Handling Content Length Encoding
> ----------------------------------------------------------
>
>                 Key: SYNAPSE-1028
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-1028
>             Project: Synapse
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: NIGHTLY
>            Reporter: Hiranya Jayathilaka
>            Assignee: Ravi Undupitiya
>            Priority: Blocker
>             Fix For: 3.0
>
>         Attachments: SYNAPSE-1028.patch
>
>
> If I'm not mistaken, the following bit of code in PassThroughHttpSender serializes the same message at least 3 times:
> {code}
> if("true".equals(disableChunking) || "true".equals(forceHttp10) ){
>    ByteArrayOutputStream _out = new ByteArrayOutputStream();
>   MessageFormatter formatter = MessageProcessorSelector.getMessageFormatter(msgContext);
>   OMOutputFormat format = PassThroughTransportUtils.getOMOutputFormat(msgContext);
>   formatter.writeTo(msgContext, format, _out, false);
>   try {
>     long messageSize = setStreamAsTempData(formatter, msgContext, format);
>     msgContext.setProperty(
>          PassThroughConstants.PASS_THROUGH_MESSAGE_LENGTH, messageSize);
>     formatter.writeTo(msgContext, format, out, false);
>   } catch (IOException e) {
>     handleException("I/O error while serializing message", e);
>   }
> {code}
> Also the setStreamAsTempData method uses a deprecated Axiom API.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org