00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_HTTP_CLIENT_H
00019 #define AXIS2_HTTP_CLIENT_H
00020
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axis2_http_simple_response.h>
00037 #include <axis2_http_simple_request.h>
00038 #include <axutil_url.h>
00039
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00046 typedef struct axis2_http_client axis2_http_client_t;
00047
00048
00055 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00056 axis2_http_client_send(axis2_http_client_t *client,
00057 const axutil_env_t *env,
00058 axis2_http_simple_request_t *request,
00059 axis2_char_t *ssl_pp);
00060
00065 AXIS2_EXTERN int AXIS2_CALL
00066 axis2_http_client_recieve_header(axis2_http_client_t *client,
00067 const axutil_env_t *env);
00068
00073 AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL
00074 axis2_http_client_get_response(const axis2_http_client_t *client,
00075 const axutil_env_t *env);
00076
00083 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084 axis2_http_client_set_url(axis2_http_client_t *client,
00085 const axutil_env_t *env,
00086 axutil_url_t *url);
00087
00092 AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00093 axis2_http_client_get_url(const axis2_http_client_t *client,
00094 const axutil_env_t *env);
00095
00102 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103 axis2_http_client_set_timeout(axis2_http_client_t *client,
00104 const axutil_env_t *env,
00105 int timeout_ms);
00106
00111 AXIS2_EXTERN int AXIS2_CALL
00112 axis2_http_client_get_timeout(const axis2_http_client_t *client,
00113 const axutil_env_t *env);
00114
00122 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00123 axis2_http_client_set_proxy(axis2_http_client_t *client,
00124 const axutil_env_t *env,
00125 axis2_char_t *proxy_host,
00126 int proxy_port);
00127
00132 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00133 axis2_http_client_get_proxy(const axis2_http_client_t *client,
00134 const axutil_env_t *env);
00135
00136 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137 axis2_http_client_connect_ssl_host(axis2_http_client_t *client,
00138 const axutil_env_t *env,
00139 axis2_char_t *host,
00140 int port);
00141
00142 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00143 axis2_http_client_set_dump_input_msg(axis2_http_client_t *client,
00144 const axutil_env_t *env,
00145 axis2_bool_t dump_input_msg);
00146
00153 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00154 axis2_http_client_set_server_cert(axis2_http_client_t *client,
00155 const axutil_env_t *env,
00156 axis2_char_t *server_cert);
00157
00162 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00163 axis2_http_client_get_server_cert(const axis2_http_client_t *client,
00164 const axutil_env_t *env);
00165
00172 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173 axis2_http_client_set_key_file(axis2_http_client_t *client,
00174 const axutil_env_t *env,
00175 axis2_char_t *key_file);
00176
00181 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00182 axis2_http_client_get_key_file(const axis2_http_client_t *client,
00183 const axutil_env_t *env);
00184
00185
00191 AXIS2_EXTERN void AXIS2_CALL
00192 axis2_http_client_free(axis2_http_client_t *client,
00193 const axutil_env_t *env);
00194
00199 AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL
00200 axis2_http_client_create (const axutil_env_t *env,
00201 axutil_url_t *url);
00202
00210 AXIS2_EXTERN void AXIS2_CALL
00211 axis2_http_client_free_void_arg (void *client,
00212 const axutil_env_t *env);
00213
00215 #ifdef __cplusplus
00216 }
00217 #endif
00218
00219 #endif