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

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

Hiranya Jayathilaka created SYNAPSE-1028:
--------------------------------------------

             Summary: 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: Hiranya Jayathilaka
            Priority: Blocker
             Fix For: 3.0


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