You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2007/03/23 07:18:25 UTC

svn commit: r521599 - in /webservices/axis2/trunk/c: include/axis2_http_out_transport_info.h modules/core/transport/http/common/http_out_transport_info.c modules/core/transport/http/server/IIS/axis2_iis_out_transport_info.c

Author: nandika
Date: Thu Mar 22 23:18:23 2007
New Revision: 521599

URL: http://svn.apache.org/viewvc?view=rev&rev=521599
Log:
http_out_transport_info modified

Modified:
    webservices/axis2/trunk/c/include/axis2_http_out_transport_info.h
    webservices/axis2/trunk/c/modules/core/transport/http/common/http_out_transport_info.c
    webservices/axis2/trunk/c/modules/core/transport/http/server/IIS/axis2_iis_out_transport_info.c

Modified: webservices/axis2/trunk/c/include/axis2_http_out_transport_info.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_http_out_transport_info.h?view=diff&rev=521599&r1=521598&r2=521599
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_http_out_transport_info.h (original)
+++ webservices/axis2/trunk/c/include/axis2_http_out_transport_info.h Thu Mar 22 23:18:23 2007
@@ -113,14 +113,14 @@
         const axis2_env_t *env);
 
 	AXIS2_EXTERN void AXIS2_CALL
-		axis2_http_out_transport_info_set_char_encoding_func(
+	axis2_http_out_transport_info_set_char_encoding_func(
 			axis2_http_out_transport_info_t *out_transport_info,
 			const axis2_env_t *env,
 			axis2_status_t (AXIS2_CALL *set_encoding)
 			(axis2_http_out_transport_info_t *,	const axis2_env_t *,const axis2_char_t *));
 
 	AXIS2_EXTERN void AXIS2_CALL
-		axis2_http_out_transport_info_set_content_type_func(
+	axis2_http_out_transport_info_set_content_type_func(
 		axis2_http_out_transport_info_t *out_transport_info,
 		const axis2_env_t *env,
 		    axis2_status_t (AXIS2_CALL *set_content_type)(
@@ -128,7 +128,7 @@
 			const axis2_env_t*, const axis2_char_t *));
 
 	AXIS2_EXTERN void AXIS2_CALL
-		axis2_http_out_transport_info_set_free_func(
+	axis2_http_out_transport_info_set_free_func(
 		axis2_http_out_transport_info_t *out_transport_info,
 		const axis2_env_t *env,
 		axis2_status_t (AXIS2_CALL *free_function)(

Modified: webservices/axis2/trunk/c/modules/core/transport/http/common/http_out_transport_info.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/common/http_out_transport_info.c?view=diff&rev=521599&r1=521598&r2=521599
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/common/http_out_transport_info.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/common/http_out_transport_info.c Thu Mar 22 23:18:23 2007
@@ -20,8 +20,83 @@
 #include <axis2_http_transport.h>
 #include <axis2_string.h>
 
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_http_out_transport_info_impl_set_content_type(
+    axis2_http_out_transport_info_t *http_out_transport_info,
+    const axis2_env_t *env,
+    const axis2_char_t *content_type)
+{
+    axis2_char_t *tmp1 = NULL;
+    axis2_char_t *tmp2 = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE);
+    if (http_out_transport_info->encoding)
+    {
+        axis2_char_t *charset_pos = axis2_strcasestr(content_type, "charset");
+        if (!charset_pos)
+        {
+            tmp1 = axis2_stracat(content_type, ";charset=", env);
+            tmp2 = axis2_stracat(tmp1, http_out_transport_info->encoding, env);
+            AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(http_out_transport_info->response, env,
+                    axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
+                            tmp2));
+            AXIS2_FREE(env->allocator, tmp1);
+            AXIS2_FREE(env->allocator, tmp2);
+        }
+        else
+        {
+            AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(http_out_transport_info->response, env,
+                axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
+                        content_type));
+        }
+    }
+    else
+    {
+        if(http_out_transport_info->response)
+            AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(http_out_transport_info->response, env,
+                axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
+                        content_type));
+    }
+    return AXIS2_SUCCESS;
+}
 
 
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_http_out_transport_info_impl_set_char_encoding(
+    axis2_http_out_transport_info_t *http_out_transport_info,
+    const axis2_env_t *env,
+    const axis2_char_t *encoding)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE);
+    if (http_out_transport_info->encoding)
+    {
+        AXIS2_FREE(env->allocator, http_out_transport_info->encoding);
+    }
+    http_out_transport_info->encoding = axis2_strdup(encoding, env);
+    return AXIS2_SUCCESS;
+}
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_http_out_transport_info_impl_free(
+    axis2_http_out_transport_info_t *http_out_transport_info,
+    const axis2_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    if(http_out_transport_info->response)
+    {
+        AXIS2_HTTP_SIMPLE_RESPONSE_FREE(http_out_transport_info->response, env);
+    }
+    if (http_out_transport_info->encoding)
+    {
+        AXIS2_FREE(env->allocator, http_out_transport_info->encoding);
+    }
+    AXIS2_FREE(env->allocator, http_out_transport_info);
+    return AXIS2_SUCCESS;
+}
+
 AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL
 axis2_http_out_transport_info_create(
     const axis2_env_t *env,
@@ -44,6 +119,14 @@
 	http_out_transport_info->set_char_encoding = NULL;
 	http_out_transport_info->set_content_type = NULL;
 	http_out_transport_info->free_function = NULL;
+
+	http_out_transport_info->set_char_encoding =
+          axis2_http_out_transport_info_impl_set_char_encoding;
+	http_out_transport_info->set_content_type = 
+        axis2_http_out_transport_info_impl_set_content_type;
+	http_out_transport_info->free_function = 
+        axis2_http_out_transport_info_impl_free;
+    
     return http_out_transport_info;
 }
 
@@ -52,17 +135,7 @@
     axis2_http_out_transport_info_t *http_out_transport_info,
     const axis2_env_t *env)
 {
-    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    if(http_out_transport_info->response)
-    {
-        AXIS2_HTTP_SIMPLE_RESPONSE_FREE(http_out_transport_info->response, env);
-    }
-    if (http_out_transport_info->encoding)
-    {
-        AXIS2_FREE(env->allocator, http_out_transport_info->encoding);
-    }
-    AXIS2_FREE(env->allocator, http_out_transport_info);
-    return AXIS2_SUCCESS;
+    return http_out_transport_info->free_function(http_out_transport_info, env);
 }
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
@@ -83,46 +156,7 @@
     const axis2_env_t *env,
     const axis2_char_t *content_type)
 {
-    axis2_char_t *tmp1 = NULL;
-    axis2_char_t *tmp2 = NULL;
-
-    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE);
-
-	if(http_out_transport_info->set_content_type)
-	{
-		return http_out_transport_info->set_content_type(http_out_transport_info, env, content_type);
-	}else{
-
-		if (http_out_transport_info->encoding)
-		{
-			axis2_char_t *charset_pos = axis2_strcasestr(content_type, "charset");
-			if (!charset_pos)
-			{
-				tmp1 = axis2_stracat(content_type, ";charset=", env);
-				tmp2 = axis2_stracat(tmp1, http_out_transport_info->encoding, env);
-				AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(http_out_transport_info->response, env,
-						axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
-								tmp2));
-				AXIS2_FREE(env->allocator, tmp1);
-				AXIS2_FREE(env->allocator, tmp2);
-			}
-			else
-			{
-				AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(http_out_transport_info->response, env,
-					axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
-							content_type));
-			}
-		}
-		else
-		{
-			if(http_out_transport_info->response)
-				AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(http_out_transport_info->response, env,
-					axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
-							content_type));
-		}
-	}
-    return AXIS2_SUCCESS;
+	return http_out_transport_info->set_content_type(http_out_transport_info, env, content_type);
 }
 
 
@@ -132,26 +166,11 @@
     const axis2_env_t *env,
     const axis2_char_t *encoding)
 {
-    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE);
-	if(http_out_transport_info->set_char_encoding)
-	{
-		return http_out_transport_info->set_char_encoding(http_out_transport_info, env, encoding);
-	}
-    else
-    {
-
-		if (http_out_transport_info->encoding)
-		{
-			AXIS2_FREE(env->allocator, http_out_transport_info->encoding);
-		}
-		http_out_transport_info->encoding = axis2_strdup(encoding, env);
-	}
-    return AXIS2_SUCCESS;
+	return http_out_transport_info->set_char_encoding(http_out_transport_info, env, encoding);
 }
 
 AXIS2_EXTERN void AXIS2_CALL
-	axis2_http_out_transport_info_set_char_encoding_func(
+axis2_http_out_transport_info_set_char_encoding_func(
 		axis2_http_out_transport_info_t *out_transport_info,
 		const axis2_env_t *env,
 		axis2_status_t (AXIS2_CALL *set_char_encoding)
@@ -161,7 +180,7 @@
 }
 
 AXIS2_EXTERN void AXIS2_CALL
-	axis2_http_out_transport_info_set_content_type_func(
+axis2_http_out_transport_info_set_content_type_func(
 	axis2_http_out_transport_info_t *out_transport_info,
 	const axis2_env_t *env,
 	axis2_status_t (AXIS2_CALL *set_content_type)(
@@ -173,13 +192,10 @@
 
 AXIS2_EXTERN void AXIS2_CALL
 axis2_http_out_transport_info_set_free_func(
-axis2_http_out_transport_info_t *out_transport_info,
-const axis2_env_t *env,
-axis2_status_t (AXIS2_CALL *free_function)(
-axis2_http_out_transport_info_t *,
-const axis2_env_t*))
+    axis2_http_out_transport_info_t *out_transport_info,
+    const axis2_env_t *env,
+    axis2_status_t (AXIS2_CALL *free_function)(axis2_http_out_transport_info_t *,const axis2_env_t*)
+    )
 {
 	out_transport_info->free_function = free_function;
 }
-
-

Modified: webservices/axis2/trunk/c/modules/core/transport/http/server/IIS/axis2_iis_out_transport_info.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/server/IIS/axis2_iis_out_transport_info.c?view=diff&rev=521599&r1=521598&r2=521599
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/server/IIS/axis2_iis_out_transport_info.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/server/IIS/axis2_iis_out_transport_info.c Thu Mar 22 23:18:23 2007
@@ -37,31 +37,8 @@
 #define AXIS2_INTF_TO_IMPL(out_transport_info) \
                 ((axis2_iis_out_transport_info_t *)(out_transport_info))
 
-
-axis2_http_out_transport_info_t *AXIS2_CALL
-axis2_iis_out_transport_info_create(
-    const axis2_env_t *env,
-	LPEXTENSION_CONTROL_BLOCK lpECB)
-{
-    axis2_iis_out_transport_info_t *info = NULL;
-    AXIS2_ENV_CHECK(env, NULL);
-
-    info = (axis2_iis_out_transport_info_t *)AXIS2_MALLOC
-            (env->allocator, sizeof(
-                        axis2_iis_out_transport_info_t));
-
-    if (! info)
-    {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
-        return NULL;
-    }
-    info->encoding = NULL;
-
-    return &(info->out_transport_info);
-}
-
 axis2_status_t AXIS2_CALL
-axis2_http_out_transport_info_free(
+axis2_iis_out_transport_info_free(
     axis2_http_out_transport_info_t *out_transport_info,
     const axis2_env_t *env)
 {
@@ -93,7 +70,7 @@
 }
 
 axis2_status_t AXIS2_CALL
-axis2_http_out_transport_info_set_content_type(
+axis2_iis_out_transport_info_set_content_type(
     axis2_http_out_transport_info_t *info,
     const axis2_env_t *env,
     const axis2_char_t *content_type)
@@ -116,7 +93,7 @@
 
 
 axis2_status_t AXIS2_CALL
-axis2_http_out_transport_info_set_char_encoding(
+axis2_iis_out_transport_info_set_char_encoding(
     axis2_http_out_transport_info_t *info,
     const axis2_env_t *env,
     const axis2_char_t *encoding)
@@ -135,8 +112,42 @@
 
     return AXIS2_SUCCESS;
 }
+axis2_http_out_transport_info_t *AXIS2_CALL
+axis2_iis_out_transport_info_create(
+    const axis2_env_t *env,
+	LPEXTENSION_CONTROL_BLOCK lpECB)
+{
+    axis2_iis_out_transport_info_t *info = NULL;
+    axis2_http_out_transport_info_t *http_out_info = NULL;
+    AXIS2_ENV_CHECK(env, NULL);
+
+    info = (axis2_iis_out_transport_info_t *)AXIS2_MALLOC
+            (env->allocator, sizeof(
+                        axis2_iis_out_transport_info_t));
+
+    if (! info)
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+    info->encoding = NULL;
+
+    http_out_info =  &(info->out_transport_info);
+
+    axis2_http_out_transport_info_set_content_type_func(http_out_info, 
+            env, axis2_iis_out_transport_info_set_content_type); 
+    axis2_http_out_transport_info_set_char_encoding_func(http_out_info,
+            env, axis2_iis_out_transport_info_set_char_encoding);
+    axis2_http_out_transport_info_set_free_function(http_out_info, 
+            env, axis2_iis_out_transport_info_free);
+
+    return http_out_info;
+}
+
+
 
-axis2_char_t *axis2_http_out_transport_get_content(axis2_http_out_transport_info_t *info)
+axis2_char_t *
+axis2_iis_out_transport_get_content(axis2_http_out_transport_info_t *info)
 {
 	axis2_iis_out_transport_info_t *info_impl = NULL;
 	info_impl = AXIS2_INTF_TO_IMPL(info);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org