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