00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_HTTP_TRANSPORT_UTILS_H
00020 #define AXIS2_HTTP_TRANSPORT_UTILS_H
00021
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 struct axis2_callback_info
00054 {
00055 const axutil_env_t *env;
00056 void *in_stream;
00057 int content_length;
00058 int unread_len;
00059 axis2_http_chunked_stream_t *chunked_stream;
00060 };
00061 typedef struct axis2_callback_info axis2_callback_info_t;
00062
00063 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00064
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
00077 axis2_http_transport_utils_process_http_get_request(
00078 const axutil_env_t * env,
00079 axis2_msg_ctx_t * msg_ctx,
00080 axutil_stream_t * in_stream,
00081 axutil_stream_t * out_stream,
00082 const axis2_char_t * content_type,
00083 axutil_string_t * soap_action_header,
00084 const axis2_char_t * request_uri,
00085 axis2_conf_ctx_t * conf_ctx,
00086 axutil_hash_t * request_params);
00087
00088 AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL
00089
00090 axis2_http_transport_utils_select_builder_for_mime(
00091 const axutil_env_t * env,
00092 axis2_char_t * request_uri,
00093 axis2_msg_ctx_t * msg_ctx,
00094 axutil_stream_t * in_stream,
00095 axis2_char_t * content_type);
00096
00097 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00098
00099 axis2_http_transport_utils_do_write_mtom(
00100 const axutil_env_t * env,
00101 axis2_msg_ctx_t * msg_ctx);
00102
00103 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00104
00105 axis2_http_transport_utils_is_doing_rest(
00106 const axutil_env_t * env,
00107 axis2_msg_ctx_t * msg_ctx);
00108
00109 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00110
00111 axis2_http_transport_utils_is_doing_rest_through_post(
00112 const axutil_env_t * env,
00113 axis2_msg_ctx_t * msg_ctx);
00114
00115 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00116
00117 axis2_http_transport_utils_get_request_params(
00118 const axutil_env_t * env,
00119 axis2_char_t * request_uri);
00120
00121 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00122
00123 axis2_http_transport_utils_get_services_html(
00124 const axutil_env_t * env,
00125 axis2_conf_ctx_t * conf_ctx);
00126
00127 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00128
00129 axis2_http_transport_utils_get_services_static_wsdl(
00130 const axutil_env_t * env,
00131 axis2_conf_ctx_t * conf_ctx,
00132 axis2_char_t * request_url);
00133
00134 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00135
00136 axis2_http_transport_utils_get_request_params(
00137 const axutil_env_t * env,
00138 axis2_char_t * request_uri);
00139
00140 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00141
00142 axis2_http_transport_utils_create_soap_msg(
00143 const axutil_env_t * env,
00144 axis2_msg_ctx_t * msg_ctx,
00145 const axis2_char_t * soap_ns_uri);
00146
00148 #ifdef __cplusplus
00149 }
00150 #endif
00151
00152 #endif