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 sa...@apache.org on 2007/03/26 12:14:11 UTC
svn commit: r522472 - in /webservices/axis2/trunk/c:
include/axis2_http_client.h modules/core/transport/http/sender/http_client.c
Author: samisa
Date: Mon Mar 26 03:14:08 2007
New Revision: 522472
URL: http://svn.apache.org/viewvc?view=rev&rev=522472
Log:
Removed ops
Modified:
webservices/axis2/trunk/c/include/axis2_http_client.h
webservices/axis2/trunk/c/modules/core/transport/http/sender/http_client.c
Modified: webservices/axis2/trunk/c/include/axis2_http_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_http_client.h?view=diff&rev=522472&r1=522471&r2=522472
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_http_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_http_client.h Mon Mar 26 03:14:08 2007
@@ -42,191 +42,156 @@
{
#endif
- /** Type name for struct axis2_http_client_ops */
- typedef struct axis2_http_client_ops axis2_http_client_ops_t;
/** Type name for struct axis2_http_client */
typedef struct axis2_http_client axis2_http_client_t;
/**
- * HTTP Client ops struct
- * Encapsulator struct for ops of axis2_http_client
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param request pointer to request
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_send(axis2_http_client_t *client,
+ const axis2_env_t *env,
+ axis2_http_simple_request_t *request,
+ axis2_char_t *ssl_pp);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
*/
- struct axis2_http_client_ops
- {
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @param request pointer to request
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- send)(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_http_simple_request_t *request,
- axis2_char_t *ssl_pp
- );
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- int (AXIS2_CALL *
- recieve_header)(
- axis2_http_client_t *client,
- const axis2_env_t *env);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- axis2_http_simple_response_t *(AXIS2_CALL *
- get_response)(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @param url pointer to url
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_url)(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_url_t *url);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- axis2_url_t *(AXIS2_CALL *
- get_url)(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @param timeout_ms
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_timeout)(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- int timeout_ms);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- int (AXIS2_CALL *
- get_timeout)(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @param proxy_host pointer to proxy host
- * @param proxy_port
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_proxy)(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *proxy_host,
- int proxy_port);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- axis2_char_t *(AXIS2_CALL *
- get_proxy)(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
- axis2_status_t (AXIS2_CALL *
- set_dump_input_msg) (
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_bool_t dump_input_msg);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @param server_cert server certificate
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_server_cert)(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *server_cert);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- axis2_char_t *(AXIS2_CALL *
- get_server_cert)(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @param key_file chain file containing
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- set_key_file)(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *key_file);
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- */
- axis2_char_t *(AXIS2_CALL *
- get_key_file)(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-
- /**
- * @param client pointer to client
- * @param env pointer to environment struct
- * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
- */
- axis2_status_t (AXIS2_CALL *
- free)(
- axis2_http_client_t *client,
- const axis2_env_t *env);
- };
-
- /**
- * axis2 http client
- */
- struct axis2_http_client
- {
- /** operations of axis2 http client */
- axis2_http_client_ops_t *ops;
- };
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_http_client_recieve_header(axis2_http_client_t *client,
+ const axis2_env_t *env);
/**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL
+ axis2_http_client_get_response(const axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+ /**
+ * @param client pointer to client
* @param env pointer to environment struct
* @param url pointer to url
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL
- axis2_http_client_create (
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_url(axis2_http_client_t *client,
+ const axis2_env_t *env,
+ axis2_url_t *url);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_url_t *AXIS2_CALL
+ axis2_http_client_get_url(const axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param timeout_ms
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_timeout(axis2_http_client_t *client,
+ const axis2_env_t *env,
+ int timeout_ms);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_http_client_get_timeout(const axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param proxy_host pointer to proxy host
+ * @param proxy_port
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_proxy(axis2_http_client_t *client,
+ const axis2_env_t *env,
+ axis2_char_t *proxy_host,
+ int proxy_port);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_http_client_get_proxy(const axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_dump_input_msg(axis2_http_client_t *client,
+ const axis2_env_t *env,
+ axis2_bool_t dump_input_msg);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param server_cert server certificate
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_server_cert(axis2_http_client_t *client,
const axis2_env_t *env,
+ axis2_char_t *server_cert);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_http_client_get_server_cert(const axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @param key_file chain file containing
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_key_file(axis2_http_client_t *client,
+ const axis2_env_t *env,
+ axis2_char_t *key_file);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+ axis2_http_client_get_key_file(const axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_free(axis2_http_client_t *client,
+ const axis2_env_t *env);
+
+ /**
+ * @param env pointer to environment struct
+ * @param url pointer to url
+ */
+ AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL
+ axis2_http_client_create (const axis2_env_t *env,
axis2_url_t *url);
/**
@@ -237,95 +202,73 @@
* @param env pointer to environment struct
*/
axis2_status_t AXIS2_CALL
- axis2_http_client_free_void_arg (
- void *client,
+ axis2_http_client_free_void_arg (void *client,
const axis2_env_t *env);
-/************************** Start of function macros **************************/
-
-/** Send.
- @sa axis2_http_client_ops#send */
+/** Send. */
#define AXIS2_HTTP_CLIENT_SEND(client, env, request, ssl_passphrase) \
- ((client)->ops->send(client, env, request, \
- ssl_passphrase))
+ axis2_http_client_send(client, env, request, \
+ ssl_passphrase)
-/** Receive header.
- @sa axis2_http_client_ops#receive_header */
+/** Receive header. */
#define AXIS2_HTTP_CLIENT_RECIEVE_HEADER(client, env) \
- ((client)->ops->recieve_header(client, env))
+ axis2_http_client_recieve_header(client, env)
-/** Gets the response.
- @sa axis2_http_client_ops#get_response */
+/** Gets the response. */
#define AXIS2_HTTP_CLIENT_GET_RESPONSE(client, env) \
- ((client)->ops->get_response(client, env))
+ axis2_http_client_get_response(client, env)
-/** Sets the url.
- @sa axis2_http_client_ops#set_url */
+/** Sets the url. */
#define AXIS2_HTTP_CLIENT_SET_URL(client, env, url) \
- ((client)->ops->set_url(client, env, url))
+ axis2_http_client_set_url(client, env, url)
-/** Gets the url.
- @sa axis2_http_client_ops#get_url */
+/** Gets the url. */
#define AXIS2_HTTP_CLIENT_GET_URL(client, env) \
- ((client)->ops->get_url(client, env))
+ axis2_http_client_get_url(client, env)
-/** Sets the timeout.
- @sa axis2_http_client_ops#set_timeout */
+/** Sets the timeout. */
#define AXIS2_HTTP_CLIENT_SET_TIMEOUT(client, env, timeout) \
- ((client)->ops->set_timeout(client, env,\
- timeout))
+ axis2_http_client_set_timeout(client, env,\
+ timeout)
-/** Gets the timeout.
- @sa axis2_http_client_ops#get_timeout */
+/** Gets the timeout. */
#define AXIS2_HTTP_CLIENT_GET_TIMEOUT(client, env) \
- ((client)->ops->get_url(client, env))
+ axis2_http_client_get_url(client, env)
-/** Sets the proxy.
- @sa axis2_http_client_ops#set_proxy */
+/** Sets the proxy. */
#define AXIS2_HTTP_CLIENT_SET_PROXY(client, env, proxy_host, proxy_port) \
- ((client)->ops->set_proxy(client, env,\
- proxy_host, proxy_port))
+ axis2_http_client_set_proxy(client, env,\
+ proxy_host, proxy_port)
-/** Gets the proxy.
- @sa axis2_http_client_ops#get_proxy */
+/** Gets the proxy. */
#define AXIS2_HTTP_CLIENT_GET_PROXY(client, env) \
- ((client)->ops->get_proxy(client, env))
+ axis2_http_client_get_proxy(client, env)
-/** Set dump_input_msg true.
- @sa axis2_http_client_ops#set_dump_input_msg */
+/** Set dump_input_msg true. */
#define AXIS2_HTTP_CLIENT_SET_DUMP_INPUT_MSG(client, env, dump_input_msg) \
- ((client)->ops->set_dump_input_msg(client, env, dump_input_msg))
+ axis2_http_client_set_dump_input_msg(client, env, dump_input_msg)
-/** Sets the server certificate.
- @sa axis2_http_client_ops#set_server_cert */
+/** Sets the server certificate. */
#define AXIS2_HTTP_CLIENT_SET_SERVER_CERT(client, env, server_cert) \
- ((client)->ops->set_server_cert(client, env,\
- server_cert))
+ axis2_http_client_set_server_cert(client, env,\
+ server_cert)
-/** Gets the server certificate.
- @sa axis2_http_client_ops#get_server_cert */
+/** Gets the server certificate. */
#define AXIS2_HTTP_CLIENT_GET_SERVER_CERT(client, env) \
- ((client)->ops->get_server_cert(client, env))
+ axis2_http_client_get_server_cert(client, env)
-/** Sets the client chain file containing the privat key and the public key.
- @sa axis2_http_client_ops#set_key_file*/
+/** Sets the client chain file containing the privat key and the public key. */
#define AXIS2_HTTP_CLIENT_SET_KEY_FILE(client, env, key_file) \
- ((client)->ops->set_key_file(client, env,\
- key_file))
+ axis2_http_client_set_key_file(client, env,\
+ key_file)
-/** Gets the client chain file containing the privat key and the public key.
- @sa axis2_http_client_ops#get_key_file*/
+/** Gets the client chain file containing the privat key and the public key. */
#define AXIS2_HTTP_CLIENT_GET_KEY_FILE(client, env) \
- ((client)->ops->get_key_file(client, env))
-
+ axis2_http_client_get_key_file(client, env)
-
-/** Frees the http client.
- @sa axis2_http_client_ops#free */
+/** Frees the http client. */
#define AXIS2_HTTP_CLIENT_FREE(client, env) \
- ((client)->ops->free(client, env))
-
-/************************** End of function macros ****************************/
+ axis2_http_client_free(client, env)
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/modules/core/transport/http/sender/http_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/sender/http_client.c?view=diff&rev=522472&r1=522471&r2=522472
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/sender/http_client.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/sender/http_client.c Mon Mar 26 03:14:08 2007
@@ -31,15 +31,8 @@
#include "ssl/ssl_stream.h"
#endif
-
-/**
- * @brief HTTP Client struct impl
- * Axis2 HTTP Client impl
- */
-
-typedef struct axis2_http_client_impl
+struct axis2_http_client
{
- axis2_http_client_t http_client;
int sockfd;
axis2_stream_t *data_stream;
axis2_url_t *url;
@@ -53,213 +46,65 @@
axis2_bool_t dump_input_msg;
axis2_char_t *server_cert;
axis2_char_t *key_file;
-}
-axis2_http_client_impl_t;
-
-#define AXIS2_INTF_TO_IMPL(http_client) \
- ((axis2_http_client_impl_t *)(http_client))
-
-/***************************** Function headers *******************************/
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_send(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_http_simple_request_t *request,
- axis2_char_t *ssl_pp
- );
-
-int AXIS2_CALL
-axis2_http_client_recieve_header(
- axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_http_simple_response_t *AXIS2_CALL
-axis2_http_client_get_response(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_set_url(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_url_t *url);
-
-axis2_url_t *AXIS2_CALL
-axis2_http_client_get_url(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_set_timeout(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- int timeout_ms);
-
-int AXIS2_CALL
-axis2_http_client_get_timeout(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_set_proxy(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *proxy_host,
- int proxy_port);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_set_server_cert(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *server_cert);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_set_key_file(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *key_file);
-
-
-axis2_char_t *AXIS2_CALL
-axis2_http_client_get_proxy(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_char_t *AXIS2_CALL
-axis2_http_client_get_server_cert(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_char_t *AXIS2_CALL
-axis2_http_client_get_key_file(
- const axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_connect_ssl_host(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_char_t *host,
- int port);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_set_dump_input_msg(
- axis2_http_client_t *client,
- const axis2_env_t *env,
- axis2_bool_t dump_input_msg);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_free(
- axis2_http_client_t *client,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-axis2_http_client_free_void_arg(
- void *client,
- const axis2_env_t *env);
-
-/***************************** End of function headers ************************/
+};
AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL
axis2_http_client_create(
const axis2_env_t *env,
axis2_url_t *url)
{
- axis2_http_client_impl_t *http_client_impl = NULL;
+ axis2_http_client_t *http_client = NULL;
AXIS2_ENV_CHECK(env, NULL);
- http_client_impl = (axis2_http_client_impl_t *)AXIS2_MALLOC
- (env->allocator, sizeof(axis2_http_client_impl_t));
-
- if (! http_client_impl)
- {
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
+ http_client = (axis2_http_client_t *)AXIS2_MALLOC
+ (env->allocator, sizeof(axis2_http_client_t));
- http_client_impl->url = url;
- http_client_impl->data_stream = NULL;
- http_client_impl->sockfd = -1;
- http_client_impl->response = NULL;
- http_client_impl->request_sent = AXIS2_FALSE;
- http_client_impl->timeout = AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT;
- http_client_impl->proxy_enabled = AXIS2_FALSE;
- http_client_impl->proxy_port = 0;
- http_client_impl->proxy_host = NULL;
- http_client_impl->proxy_host_port = NULL;
- http_client_impl->dump_input_msg = AXIS2_FALSE;
- http_client_impl->server_cert = NULL;
- http_client_impl->key_file = NULL;
-
- http_client_impl->http_client.ops = AXIS2_MALLOC(env->allocator,
- sizeof(axis2_http_client_ops_t));
- if (! http_client_impl->http_client.ops)
+ if (! http_client)
{
- axis2_http_client_free((axis2_http_client_t *) http_client_impl, env);
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
- http_client_impl->http_client.ops->send = axis2_http_client_send;
- http_client_impl->http_client.ops->recieve_header =
- axis2_http_client_recieve_header;
- http_client_impl->http_client.ops->get_response =
- axis2_http_client_get_response;
- http_client_impl->http_client.ops->set_url = axis2_http_client_set_url;
- http_client_impl->http_client.ops->get_url = axis2_http_client_get_url;
- http_client_impl->http_client.ops->set_timeout =
- axis2_http_client_set_timeout;
- http_client_impl->http_client.ops->get_timeout =
- axis2_http_client_get_timeout;
- http_client_impl->http_client.ops->set_proxy =
- axis2_http_client_set_proxy;
- http_client_impl->http_client.ops->get_proxy =
- axis2_http_client_get_proxy;
- http_client_impl->http_client.ops->set_server_cert =
- axis2_http_client_set_server_cert;
- http_client_impl->http_client.ops->get_server_cert =
- axis2_http_client_get_server_cert;
- http_client_impl->http_client.ops->set_key_file =
- axis2_http_client_set_key_file;
- http_client_impl->http_client.ops->get_key_file =
- axis2_http_client_get_key_file;
- http_client_impl->http_client.ops->set_dump_input_msg =
- axis2_http_client_set_dump_input_msg;
- http_client_impl->http_client.ops->free = axis2_http_client_free;
+ http_client->url = url;
+ http_client->data_stream = NULL;
+ http_client->sockfd = -1;
+ http_client->response = NULL;
+ http_client->request_sent = AXIS2_FALSE;
+ http_client->timeout = AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT;
+ http_client->proxy_enabled = AXIS2_FALSE;
+ http_client->proxy_port = 0;
+ http_client->proxy_host = NULL;
+ http_client->proxy_host_port = NULL;
+ http_client->dump_input_msg = AXIS2_FALSE;
+ http_client->server_cert = NULL;
+ http_client->key_file = NULL;
- return &(http_client_impl->http_client);
+ return http_client;
}
axis2_status_t AXIS2_CALL
axis2_http_client_free(
- axis2_http_client_t *client,
+ axis2_http_client_t *http_client,
const axis2_env_t *env)
{
- axis2_http_client_impl_t *http_client_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- http_client_impl = AXIS2_INTF_TO_IMPL(client);
- if (http_client_impl->url)
+ if (http_client->url)
{
- axis2_url_free(http_client_impl->url, env);
- http_client_impl->url = NULL;
+ axis2_url_free(http_client->url, env);
}
- if (http_client_impl->response)
+ if (http_client->response)
{
- AXIS2_HTTP_SIMPLE_RESPONSE_FREE(http_client_impl->response, env);
- http_client_impl->response = NULL;
+ AXIS2_HTTP_SIMPLE_RESPONSE_FREE(http_client->response, env);
}
- if (-1 != http_client_impl->sockfd)
+ if (-1 != http_client->sockfd)
{
- axis2_network_handler_close_socket(env, http_client_impl->sockfd);
- http_client_impl->sockfd = -1;
+ axis2_network_handler_close_socket(env, http_client->sockfd);
+ http_client->sockfd = -1;
}
- if (client->ops)
- AXIS2_FREE(env->allocator, client->ops);
- AXIS2_FREE(env->allocator, AXIS2_INTF_TO_IMPL(client));
+ AXIS2_FREE(env->allocator, http_client);
return AXIS2_SUCCESS;
}
@@ -284,7 +129,6 @@
axis2_char_t *ssl_pp
)
{
- axis2_http_client_impl_t *client_impl = NULL;
char *wire_format = NULL;
axis2_array_list_t *headers = NULL;
char *str_header = NULL;
@@ -297,37 +141,36 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- client_impl = AXIS2_INTF_TO_IMPL(client);
body_size = AXIS2_HTTP_SIMPLE_REQUEST_GET_BODY_BYTES(request, env,
&str_body);
- if(client_impl->dump_input_msg == AXIS2_TRUE)
+ if(client->dump_input_msg == AXIS2_TRUE)
{
return AXIS2_SUCCESS;
}
- if (! client_impl->url)
+ if (! client->url)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_URL, AXIS2_FAILURE);
return AXIS2_FAILURE;
}
- if (AXIS2_TRUE == client_impl->proxy_enabled)
+ if (AXIS2_TRUE == client->proxy_enabled)
{
- if (! client_impl->proxy_host || client_impl->proxy_port <= 0)
+ if (! client->proxy_host || client->proxy_port <= 0)
{
return AXIS2_FAILURE;
}
- client_impl->sockfd = axis2_network_handler_open_socket(env,
- client_impl->proxy_host, client_impl->proxy_port);
+ client->sockfd = axis2_network_handler_open_socket(env,
+ client->proxy_host, client->proxy_port);
}
else
{
- client_impl->sockfd = axis2_network_handler_open_socket(env,
- axis2_url_get_server(client_impl->url, env),
- axis2_url_get_port(client_impl->url, env));
+ client->sockfd = axis2_network_handler_open_socket(env,
+ axis2_url_get_server(client->url, env),
+ axis2_url_get_port(client->url, env));
}
- if (client_impl->sockfd < 0)
+ if (client->sockfd < 0)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE);
if (str_body)
@@ -337,31 +180,31 @@
return AXIS2_FAILURE;
}
/* ONLY FOR TESTING
- * client_impl->data_stream = axis2_stream_create_file(env,
+ * client->data_stream = axis2_stream_create_file(env,
* stdout);
*/
- if (client_impl->timeout > 0)
+ if (client->timeout > 0)
{
- axis2_network_handler_set_sock_option(env, client_impl->sockfd,
- SO_RCVTIMEO, client_impl->timeout);
- axis2_network_handler_set_sock_option(env, client_impl->sockfd,
- SO_SNDTIMEO, client_impl->timeout);
+ axis2_network_handler_set_sock_option(env, client->sockfd,
+ SO_RCVTIMEO, client->timeout);
+ axis2_network_handler_set_sock_option(env, client->sockfd,
+ SO_SNDTIMEO, client->timeout);
}
- if (0 == axis2_strcasecmp(axis2_url_get_protocol(client_impl->url, env),
+ if (0 == axis2_strcasecmp(axis2_url_get_protocol(client->url, env),
"HTTPS"))
{
#ifdef AXIS2_SSL_ENABLED
- if (AXIS2_TRUE == client_impl->proxy_enabled)
+ if (AXIS2_TRUE == client->proxy_enabled)
{
if (AXIS2_SUCCESS != axis2_http_client_connect_ssl_host(client, env,
- axis2_url_get_server(client_impl->url, env),
- axis2_url_get_port(client_impl->url, env)))
+ axis2_url_get_server(client->url, env),
+ axis2_url_get_port(client->url, env)))
{
return AXIS2_FAILURE;
}
}
- client_impl->data_stream = axis2_stream_create_ssl(env,
- client_impl->sockfd,
+ client->data_stream = axis2_stream_create_ssl(env,
+ client->sockfd,
AXIS2_HTTP_CLIENT_GET_SERVER_CERT(client, env),
AXIS2_HTTP_CLIENT_GET_KEY_FILE(client, env),
ssl_pp);
@@ -373,13 +216,13 @@
}
else
{
- client_impl->data_stream = axis2_stream_create_socket(env,
- client_impl->sockfd);
+ client->data_stream = axis2_stream_create_socket(env,
+ client->sockfd);
}
- if (! client_impl->data_stream)
+ if (! client->data_stream)
{
- axis2_network_handler_close_socket(env, client_impl->sockfd);
+ axis2_network_handler_close_socket(env, client->sockfd);
return AXIS2_FAILURE;
}
@@ -417,7 +260,7 @@
str_header = str_header2;
}
}
- if (AXIS2_FALSE == client_impl->proxy_enabled)
+ if (AXIS2_FALSE == client->proxy_enabled)
{
str_request_line = AXIS2_HTTP_REQUEST_LINE_TO_STRING(
AXIS2_HTTP_SIMPLE_REQUEST_GET_REQUEST_LINE(request, env)
@@ -429,7 +272,7 @@
* POST http://host:port/path HTTP/1.x if we have enabled proxies
*/
axis2_char_t *host_port_str = NULL;
- axis2_char_t *server = axis2_url_get_server(client_impl->url, env);
+ axis2_char_t *server = axis2_url_get_server(client->url, env);
axis2_http_request_line_t *request_line =
AXIS2_HTTP_SIMPLE_REQUEST_GET_REQUEST_LINE(request, env);
axis2_char_t *path = AXIS2_HTTP_REQUEST_LINE_GET_URI(request_line, env);
@@ -444,7 +287,7 @@
return AXIS2_FAILURE;
}
sprintf(host_port_str, "http://%s:%d%s", server, axis2_url_get_port(
- client_impl->url, env), path);
+ client->url, env), path);
str_request_line = AXIS2_MALLOC(env->allocator,
axis2_strlen(host_port_str) + 20 * sizeof(axis2_char_t));
sprintf(str_request_line, "%s %s %s\r\n",
@@ -460,11 +303,11 @@
str_header = NULL;
AXIS2_FREE(env->allocator, str_request_line);
str_request_line = NULL;
- written = AXIS2_STREAM_WRITE(client_impl->data_stream, env, wire_format,
+ written = AXIS2_STREAM_WRITE(client->data_stream, env, wire_format,
axis2_strlen(wire_format));
AXIS2_FREE(env->allocator, wire_format);
wire_format = NULL;
- written = AXIS2_STREAM_WRITE(client_impl->data_stream, env, AXIS2_HTTP_CRLF,
+ written = AXIS2_STREAM_WRITE(client->data_stream, env, AXIS2_HTTP_CRLF,
2);
if (body_size > 0 && str_body)
{
@@ -473,7 +316,7 @@
status = AXIS2_SUCCESS;
while (written < body_size)
{
- written = AXIS2_STREAM_WRITE(client_impl->data_stream, env,
+ written = AXIS2_STREAM_WRITE(client->data_stream, env,
str_body, body_size);
if (-1 == written)
{
@@ -486,7 +329,7 @@
{
axis2_http_chunked_stream_t *chunked_stream = NULL;
chunked_stream = axis2_http_chunked_stream_create(env,
- client_impl->data_stream);
+ client->data_stream);
status = AXIS2_SUCCESS;
if (! chunked_stream)
{
@@ -512,7 +355,7 @@
}
}
- client_impl->request_sent = AXIS2_TRUE;
+ client->request_sent = AXIS2_TRUE;
if (str_body)
{
AXIS2_FREE(env->allocator, str_body);
@@ -528,7 +371,6 @@
const axis2_env_t *env)
{
int status_code = -1;
- axis2_http_client_impl_t *client_impl = NULL;
axis2_http_status_line_t *status_line = NULL;
axis2_char_t str_status_line[512];
axis2_char_t tmp_buf[3];
@@ -540,9 +382,8 @@
AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE);
- client_impl = AXIS2_INTF_TO_IMPL(client);
- if (-1 == client_impl->sockfd || ! client_impl->data_stream ||
- AXIS2_FALSE == client_impl->request_sent)
+ if (-1 == client->sockfd || ! client->data_stream ||
+ AXIS2_FALSE == client->request_sent)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_HTTP_REQUEST_NOT_SENT,
AXIS2_FAILURE);
@@ -552,7 +393,7 @@
do
{
memset(str_status_line, 0, 512);
- while ((read = AXIS2_STREAM_READ(client_impl->data_stream, env, tmp_buf,
+ while ((read = AXIS2_STREAM_READ(client->data_stream, env, tmp_buf,
1)) > 0)
{
tmp_buf[read] = '\0';
@@ -594,8 +435,8 @@
}
while (AXIS2_HTTP_RESPONSE_OK_CODE_VAL > http_status);
- client_impl->response = axis2_http_simple_response_create_default(env);
- AXIS2_HTTP_SIMPLE_RESPONSE_SET_STATUS_LINE(client_impl->response, env,
+ client->response = axis2_http_simple_response_create_default(env);
+ AXIS2_HTTP_SIMPLE_RESPONSE_SET_STATUS_LINE(client->response, env,
AXIS2_HTTP_STATUS_LINE_GET_HTTP_VERSION(status_line,
env), AXIS2_HTTP_STATUS_LINE_GET_STATUS_CODE(
status_line, env),
@@ -607,7 +448,7 @@
end_of_line = AXIS2_FALSE;
while (AXIS2_FALSE == end_of_headers)
{
- while ((read = AXIS2_STREAM_READ(client_impl->data_stream, env, tmp_buf,
+ while ((read = AXIS2_STREAM_READ(client->data_stream, env, tmp_buf,
1)) > 0)
{
tmp_buf[read] = '\0';
@@ -631,15 +472,15 @@
memset(str_header, 0, 512);
if (tmp_header)
{
- AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(client_impl->response,
+ AXIS2_HTTP_SIMPLE_RESPONSE_SET_HEADER(client->response,
env, tmp_header);
}
}
}
end_of_line = AXIS2_FALSE;
}
- AXIS2_HTTP_SIMPLE_RESPONSE_SET_BODY_STREAM(client_impl->response, env,
- client_impl->data_stream);
+ AXIS2_HTTP_SIMPLE_RESPONSE_SET_BODY_STREAM(client->response, env,
+ client->data_stream);
if (status_line)
{
status_code = AXIS2_HTTP_STATUS_LINE_GET_STATUS_CODE(status_line, env);
@@ -647,10 +488,10 @@
status_line = NULL;
}
if (AXIS2_FALSE == AXIS2_HTTP_SIMPLE_RESPONSE_CONTAINS_HEADER(
- client_impl->response, env,
+ client->response, env,
AXIS2_HTTP_HEADER_CONTENT_TYPE) && 202 != status_code
&& AXIS2_HTTP_SIMPLE_RESPONSE_GET_CONTENT_LENGTH(
- client_impl->response, env) > 0)
+ client->response, env) > 0)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING
, AXIS2_FAILURE);
@@ -668,7 +509,7 @@
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, NULL);
- return AXIS2_INTF_TO_IMPL(client)->response;
+ return client->response;
}
axis2_status_t AXIS2_CALL
@@ -679,12 +520,12 @@
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, url, AXIS2_FAILURE);
- if (AXIS2_INTF_TO_IMPL(client)->url)
+ if (client->url)
{
- axis2_url_free(AXIS2_INTF_TO_IMPL(client)->url, env);
- AXIS2_INTF_TO_IMPL(client)->url = NULL;
+ axis2_url_free(client->url, env);
+ client->url = NULL;
}
- AXIS2_INTF_TO_IMPL(client)->url = url;
+ client->url = url;
return AXIS2_SUCCESS;
}
@@ -694,7 +535,7 @@
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, NULL);
- return AXIS2_INTF_TO_IMPL(client)->url;
+ return client->url;
}
axis2_status_t AXIS2_CALL
@@ -704,7 +545,7 @@
int timeout_ms)
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_INTF_TO_IMPL(client)->timeout = timeout_ms;
+ client->timeout = timeout_ms;
return AXIS2_SUCCESS;
}
@@ -714,7 +555,7 @@
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE);
- return AXIS2_INTF_TO_IMPL(client)->timeout;
+ return client->timeout;
}
axis2_status_t AXIS2_CALL
@@ -724,35 +565,32 @@
axis2_char_t *proxy_host,
int proxy_port)
{
- axis2_http_client_impl_t *client_impl = NULL;
-
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, proxy_host, AXIS2_FAILURE);
if (proxy_port <= 0)
{
return AXIS2_FAILURE;
}
- client_impl = AXIS2_INTF_TO_IMPL(client);
- client_impl->proxy_port = proxy_port;
- if (client_impl->proxy_host)
+ client->proxy_port = proxy_port;
+ if (client->proxy_host)
{
- AXIS2_FREE(env->allocator, client_impl->proxy_host);
- client_impl->proxy_host = NULL;
+ AXIS2_FREE(env->allocator, client->proxy_host);
+ client->proxy_host = NULL;
}
- if (client_impl->proxy_host_port)
+ if (client->proxy_host_port)
{
- AXIS2_FREE(env->allocator, client_impl->proxy_host_port);
- client_impl->proxy_host_port = NULL;
+ AXIS2_FREE(env->allocator, client->proxy_host_port);
+ client->proxy_host_port = NULL;
}
- client_impl->proxy_host = axis2_strdup(proxy_host, env);
- if (! client_impl->proxy_host)
+ client->proxy_host = axis2_strdup(proxy_host, env);
+ if (! client->proxy_host)
{
return AXIS2_FAILURE;
}
- client_impl->proxy_host_port = AXIS2_MALLOC(env->allocator, axis2_strlen(
+ client->proxy_host_port = AXIS2_MALLOC(env->allocator, axis2_strlen(
proxy_host) + 10 * sizeof(axis2_char_t));
- sprintf(client_impl->proxy_host_port, "%s:%d", proxy_host, proxy_port);
- client_impl->proxy_enabled = AXIS2_TRUE;
+ sprintf(client->proxy_host_port, "%s:%d", proxy_host, proxy_port);
+ client->proxy_enabled = AXIS2_TRUE;
return AXIS2_SUCCESS;
}
@@ -762,7 +600,7 @@
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, NULL);
- return AXIS2_INTF_TO_IMPL(client)->proxy_host_port;
+ return client->proxy_host_port;
}
axis2_status_t AXIS2_CALL
@@ -779,19 +617,17 @@
int read = 0;
axis2_bool_t end_of_line = AXIS2_FALSE;
axis2_bool_t end_of_response = AXIS2_FALSE;
- axis2_http_client_impl_t *client_impl = NULL;
axis2_http_status_line_t *status_line = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, host, AXIS2_FAILURE);
- client_impl = AXIS2_INTF_TO_IMPL(client);
if (port <= 0)
{
return AXIS2_FAILURE;
}
- tmp_stream = axis2_stream_create_socket(env, client_impl->sockfd);
+ tmp_stream = axis2_stream_create_socket(env, client->sockfd);
if (! tmp_stream)
{
return AXIS2_FAILURE;
@@ -866,11 +702,7 @@
const axis2_env_t *env,
axis2_bool_t dump_input_msg)
{
- axis2_http_client_impl_t *client_impl = NULL;
-
- client_impl = AXIS2_INTF_TO_IMPL(client);
-
- client_impl->dump_input_msg = dump_input_msg;
+ client->dump_input_msg = dump_input_msg;
return AXIS2_SUCCESS;
}
@@ -881,11 +713,7 @@
const axis2_env_t *env,
axis2_char_t *server_cert)
{
- axis2_http_client_impl_t *client_impl = NULL;
-
- client_impl = AXIS2_INTF_TO_IMPL(client);
-
- client_impl->server_cert = server_cert;
+ client->server_cert = server_cert;
return AXIS2_SUCCESS;
}
@@ -896,7 +724,7 @@
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, NULL);
- return AXIS2_INTF_TO_IMPL(client)->server_cert;
+ return client->server_cert;
}
axis2_status_t AXIS2_CALL
@@ -905,11 +733,7 @@
const axis2_env_t *env,
axis2_char_t *key_file)
{
- axis2_http_client_impl_t *client_impl = NULL;
-
- client_impl = AXIS2_INTF_TO_IMPL(client);
-
- client_impl->key_file = key_file;
+ client->key_file = key_file;
return AXIS2_SUCCESS;
}
@@ -920,5 +744,6 @@
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, NULL);
- return AXIS2_INTF_TO_IMPL(client)->key_file;
+ return client->key_file;
}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org