You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2008/07/29 07:22:38 UTC

svn commit: r680626 - /webservices/axis2/trunk/c/src/core/transport/http/util/http_transport_utils.c

Author: nandika
Date: Mon Jul 28 22:22:38 2008
New Revision: 680626

URL: http://svn.apache.org/viewvc?rev=680626&view=rev
Log:
chunking problem for some streams fixed

Modified:
    webservices/axis2/trunk/c/src/core/transport/http/util/http_transport_utils.c

Modified: webservices/axis2/trunk/c/src/core/transport/http/util/http_transport_utils.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/util/http_transport_utils.c?rev=680626&r1=680625&r2=680626&view=diff
==============================================================================
--- webservices/axis2/trunk/c/src/core/transport/http/util/http_transport_utils.c (original)
+++ webservices/axis2/trunk/c/src/core/transport/http/util/http_transport_utils.c Mon Jul 28 22:22:38 2008
@@ -353,7 +353,7 @@
 
                 if (!callback_ctx->chunked_stream)
                 {
-                    AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occured in"
+                    AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occurred in"
                                     " creating in chunked stream.");
                     return AXIS2_FAILURE;
                 }
@@ -369,33 +369,19 @@
         /* check content encoding from msg ctx property */
         axis2_char_t *value = axis2_msg_ctx_get_transfer_encoding(msg_ctx, env);
 
-        if (value &&
-            axutil_strstr(value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED))
+        if (value && axutil_strstr(value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED))
         {
-            /* this is an UGLY hack to get some of the transports working 
-               e.g. PHP transport where it strips the chunking info in case of chunking 
-               and also gives out a content lenght of 0.
-               We need to fix the transport design to fix sutuations like this.
-             */
-            /*callback_ctx->content_length = AXIS2_CHUNKED_CONTENT_LENGTH;
-            callback_ctx->unread_len = callback_ctx->content_length;*/
-            callback_ctx->chunked_stream =
-                    axutil_http_chunked_stream_create(env, in_stream);
-
-                if (!callback_ctx->chunked_stream)
-                {
-                    AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occured in"
-                                    " creating in chunked stream.");
-                    return AXIS2_FAILURE;
-                }
-
-                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "HTTP"
-                                " stream chunked");
+            /* In case Transfer encoding is set to message context, some streams strip chunking meta
+			data, so chunked streams should not be created */
+            
+			callback_ctx->content_length = -1;
+			callback_ctx->unread_len = -1;
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[chunked ] setting length to -1");
         }
     }
 
     /* when the message contains does not contain pure XML we can't send it 
-     * directly to the parser, First we need to seperate the SOAP part from
+     * directly to the parser, First we need to separate the SOAP part from
      * the attachment */
     
     if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED))