synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiranya Jayathilaka (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SYNAPSE-1028) Possible Bugs in Code for Handling Content Length Encoding
Date Mon, 30 May 2016 08:50:12 GMT

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

Hiranya Jayathilaka updated SYNAPSE-1028:
-----------------------------------------
    Attachment: SYNAPSE-1028.patch

I'm attaching a possible fix for the problems outlined here. I'm not fully caught up with
the latest developments of the PTT, so I appreciate if somebody else can review this patch
and provide some feedback.

> 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


Mime
View raw message