00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_HTTP_TRANSPORT_UTILS_H
00019 #define AXIS2_HTTP_TRANSPORT_UTILS_H
00020
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <axiom_stax_builder.h>
00036 #include <axis2_msg_ctx.h>
00037 #include <axis2_conf_ctx.h>
00038 #include <axutil_hash.h>
00039 #include <axiom_element.h>
00040 #include <axutil_stream.h>
00041 #include <axiom_soap_envelope.h>
00042 #include <axis2_http_chunked_stream.h>
00043 #include <axutil_url.h>
00044
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049
00050
00051
00052
00053
00054 struct axis2_callback_info
00055 {
00056 const axutil_env_t *env;
00057 void *in_stream;
00058 int content_length;
00059 int unread_len;
00060 axis2_http_chunked_stream_t *chunked_stream;
00061 };
00062 typedef struct axis2_callback_info axis2_callback_info_t;
00063
00064 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00065 axis2_http_transport_utils_process_http_post_request(
00066 const axutil_env_t *env,
00067 axis2_msg_ctx_t *msg_ctx,
00068 axutil_stream_t *in_stream,
00069 axutil_stream_t *out_stream,
00070 const axis2_char_t *content_type,
00071 const int content_length,
00072 axutil_string_t *soap_action_header,
00073 const axis2_char_t *request_uri);
00074
00075 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00076 axis2_http_transport_utils_process_http_get_request(
00077 const axutil_env_t *env,
00078 axis2_msg_ctx_t *msg_ctx,
00079 axutil_stream_t *in_stream,
00080 axutil_stream_t *out_stream,
00081 const axis2_char_t *content_type,
00082 axutil_string_t *soap_action_header,
00083 const axis2_char_t *request_uri,
00084 axis2_conf_ctx_t *conf_ctx,
00085 axutil_hash_t *request_params);
00086
00087 AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL
00088 axis2_http_transport_utils_select_builder_for_mime(
00089 const axutil_env_t *env,
00090 axis2_char_t *request_uri,
00091 axis2_msg_ctx_t *msg_ctx,
00092 axutil_stream_t *in_stream,
00093 axis2_char_t *content_type);
00094
00095 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00096 axis2_http_transport_utils_do_write_mtom(
00097 const axutil_env_t *env,
00098 axis2_msg_ctx_t *msg_ctx);
00099
00100 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00101 axis2_http_transport_utils_is_doing_rest(
00102 const axutil_env_t *env,
00103 axis2_msg_ctx_t *msg_ctx);
00104
00105 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00106 axis2_http_transport_utils_is_doing_rest_through_post(
00107 const axutil_env_t *env,
00108 axis2_msg_ctx_t *msg_ctx);
00109
00110 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00111 axis2_http_transport_utils_get_request_params(
00112 const axutil_env_t *env,
00113 axis2_char_t *request_uri);
00114
00115 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00116 axis2_http_transport_utils_get_services_html(
00117 const axutil_env_t *env,
00118 axis2_conf_ctx_t *conf_ctx);
00119
00120 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00121 axis2_http_transport_utils_get_services_static_wsdl(
00122 const axutil_env_t *env,
00123 axis2_conf_ctx_t *conf_ctx,
00124 axis2_char_t *request_url);
00125
00126 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00127 axis2_http_transport_utils_get_request_params(
00128 const axutil_env_t *env,
00129 axis2_char_t *request_uri);
00130
00131 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00132 axis2_http_transport_utils_create_soap_msg(
00133 const axutil_env_t *env,
00134 axis2_msg_ctx_t *msg_ctx,
00135 const axis2_char_t *soap_ns_uri);
00136
00137
00139 #ifdef __cplusplus
00140 }
00141 #endif
00142
00143 #endif