summaryrefslogtreecommitdiffstats
path: root/include/axis2_http_client.h
diff options
context:
space:
mode:
authorGravatar gmcdonald2010-02-13 01:32:03 +0000
committerGravatar gmcdonald2010-02-13 01:32:03 +0000
commit0425aadc78680e53000fd0108b540d6eca048516 (patch)
tree8ec7ab8e015d454c5ec586dfc91e05a2dce1cfc0 /include/axis2_http_client.h
downloadaxis2c-0425aadc78680e53000fd0108b540d6eca048516.tar.gz
axis2c-0425aadc78680e53000fd0108b540d6eca048516.tar.bz2
Moving axis svn, part of TLP move INFRA-2441
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/axis2_http_client.h')
-rw-r--r--include/axis2_http_client.h270
1 files changed, 270 insertions, 0 deletions
diff --git a/include/axis2_http_client.h b/include/axis2_http_client.h
new file mode 100644
index 0000000..fbad8d4
--- /dev/null
+++ b/include/axis2_http_client.h
@@ -0,0 +1,270 @@
+
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+#ifndef AXIS2_HTTP_CLIENT_H
+#define AXIS2_HTTP_CLIENT_H
+
+/**
+ * @defgroup axis2_http_client http client
+ * @ingroup axis2_core_trans_http
+ * Description
+ * @{
+ */
+
+/**
+ * @file axis2_http_client.h
+ * @brief axis2 HTTP Header name:value pair implementation
+ */
+
+#include <axis2_const.h>
+#include <axis2_defines.h>
+#include <axutil_env.h>
+#include <axis2_http_simple_response.h>
+#include <axis2_http_simple_request.h>
+#include <axutil_url.h>
+
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /** Type name for struct axis2_http_client */
+ typedef struct axis2_http_client axis2_http_client_t;
+
+ /**
+ * @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 axutil_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
+ */
+ AXIS2_EXTERN int AXIS2_CALL
+ axis2_http_client_recieve_header(
+ axis2_http_client_t * client,
+ const axutil_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 axutil_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_status_t AXIS2_CALL
+ axis2_http_client_set_url(
+ axis2_http_client_t * client,
+ const axutil_env_t * env,
+ axutil_url_t * url);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN axutil_url_t *AXIS2_CALL
+ axis2_http_client_get_url(
+ const axis2_http_client_t * client,
+ const axutil_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 axutil_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 axutil_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 axutil_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 axutil_env_t * env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+
+ axis2_http_client_connect_ssl_host(
+ axis2_http_client_t * client,
+ const axutil_env_t * env,
+ axis2_char_t * host,
+ int port);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+
+ axis2_http_client_set_dump_input_msg(
+ axis2_http_client_t * client,
+ const axutil_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 axutil_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 axutil_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 axutil_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 axutil_env_t * env);
+
+ /**
+ * @param client pointer to client
+ * @param env pointer to environment struct
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_http_client_free(
+ axis2_http_client_t * client,
+ const axutil_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 axutil_env_t * env,
+ axutil_url_t * url);
+
+ /**
+ * Free http_client passed as void pointer. This will be
+ * cast into appropriate type and then pass the cast object
+ * into the http_client structure's free method
+ * @param client
+ * @param env pointer to environment struct
+ */
+ AXIS2_EXTERN void AXIS2_CALL
+ axis2_http_client_free_void_arg(
+ void *client,
+ const axutil_env_t * env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_mime_parts(
+ axis2_http_client_t * client,
+ const axutil_env_t * env,
+ axutil_array_list_t *mime_parts);
+
+ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
+ axis2_http_client_get_mime_parts(
+ const axis2_http_client_t * client,
+ const axutil_env_t * env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_doing_mtom(
+ axis2_http_client_t * client,
+ const axutil_env_t * env,
+ axis2_bool_t doing_mtom);
+
+ AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+ axis2_http_client_get_doing_mtom(
+ const axis2_http_client_t * client,
+ const axutil_env_t * env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_http_client_set_mtom_sending_callback_name(
+ axis2_http_client_t * client,
+ const axutil_env_t * env,
+ axis2_char_t *callback_name);
+
+
+ /** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_HTTP_CLIENT_H */