00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_HTTP_CLIENT_H
00020 #define AXIS2_HTTP_CLIENT_H
00021
00034 #include <axis2_const.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_http_simple_response.h>
00038 #include <axis2_http_simple_request.h>
00039 #include <axutil_url.h>
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00047 typedef struct axis2_http_client axis2_http_client_t;
00048
00055 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00056 axis2_http_client_send(
00057 axis2_http_client_t * client,
00058 const axutil_env_t * env,
00059 axis2_http_simple_request_t * request,
00060 axis2_char_t * ssl_pp);
00061
00066 AXIS2_EXTERN int AXIS2_CALL
00067 axis2_http_client_recieve_header(
00068 axis2_http_client_t * client,
00069 const axutil_env_t * env);
00070
00075 AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL
00076
00077 axis2_http_client_get_response(
00078 const axis2_http_client_t * client,
00079 const axutil_env_t * env);
00080
00087 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00088 axis2_http_client_set_url(
00089 axis2_http_client_t * client,
00090 const axutil_env_t * env,
00091 axutil_url_t * url);
00092
00097 AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00098 axis2_http_client_get_url(
00099 const axis2_http_client_t * client,
00100 const axutil_env_t * env);
00101
00108 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109 axis2_http_client_set_timeout(
00110 axis2_http_client_t * client,
00111 const axutil_env_t * env,
00112 int timeout_ms);
00113
00118 AXIS2_EXTERN int AXIS2_CALL
00119 axis2_http_client_get_timeout(
00120 const axis2_http_client_t * client,
00121 const axutil_env_t * env);
00122
00130 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131 axis2_http_client_set_proxy(
00132 axis2_http_client_t * client,
00133 const axutil_env_t * env,
00134 axis2_char_t * proxy_host,
00135 int proxy_port);
00136
00141 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00142 axis2_http_client_get_proxy(
00143 const axis2_http_client_t * client,
00144 const axutil_env_t * env);
00145
00146 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00147
00148 axis2_http_client_connect_ssl_host(
00149 axis2_http_client_t * client,
00150 const axutil_env_t * env,
00151 axis2_char_t * host,
00152 int port);
00153
00154 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155
00156 axis2_http_client_set_dump_input_msg(
00157 axis2_http_client_t * client,
00158 const axutil_env_t * env,
00159 axis2_bool_t dump_input_msg);
00160
00167 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168 axis2_http_client_set_server_cert(
00169 axis2_http_client_t * client,
00170 const axutil_env_t * env,
00171 axis2_char_t * server_cert);
00172
00177 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00178 axis2_http_client_get_server_cert(
00179 const axis2_http_client_t * client,
00180 const axutil_env_t * env);
00181
00188 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189 axis2_http_client_set_key_file(
00190 axis2_http_client_t * client,
00191 const axutil_env_t * env,
00192 axis2_char_t * key_file);
00193
00198 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00199 axis2_http_client_get_key_file(
00200 const axis2_http_client_t * client,
00201 const axutil_env_t * env);
00202
00208 AXIS2_EXTERN void AXIS2_CALL
00209 axis2_http_client_free(
00210 axis2_http_client_t * client,
00211 const axutil_env_t * env);
00212
00217 AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL
00218 axis2_http_client_create(
00219 const axutil_env_t * env,
00220 axutil_url_t * url);
00221
00229 AXIS2_EXTERN void AXIS2_CALL
00230 axis2_http_client_free_void_arg(
00231 void *client,
00232 const axutil_env_t * env);
00233
00235 #ifdef __cplusplus
00236 }
00237 #endif
00238
00239 #endif