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 <axis2_env.h>
00035 #include <axiom_stax_builder.h>
00036 #include <axis2_msg_ctx.h>
00037 #include <axis2_conf_ctx.h>
00038 #include <axis2_hash.h>
00039 #include <axiom_element.h>
00040 #include <axis2_stream.h>
00041 #include <axiom_soap_envelope.h>
00042 #include <axis2_http_chunked_stream.h>
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00049
00050
00051
00052
00053 struct axis2_callback_info
00054 {
00055 const axis2_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 axis2_http_transport_utils_process_http_post_request(
00065 const axis2_env_t *env,
00066 axis2_msg_ctx_t *msg_ctx,
00067 axis2_stream_t *in_stream,
00068 axis2_stream_t *out_stream,
00069 const axis2_char_t *content_type,
00070 const int content_length,
00071 axis2_char_t *soap_action_header,
00072 const axis2_char_t *request_uri);
00073
00074 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00075 axis2_http_transport_utils_process_http_get_request(
00076 const axis2_env_t *env,
00077 axis2_msg_ctx_t *msg_ctx,
00078 axis2_stream_t *in_stream,
00079 axis2_stream_t *out_stream,
00080 const axis2_char_t *content_type,
00081 axis2_char_t *soap_action_header,
00082 const axis2_char_t *request_uri,
00083 axis2_conf_ctx_t *conf_ctx,
00084 axis2_hash_t *request_params);
00085
00086 AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL
00087 axis2_http_transport_utils_select_builder_for_mime(
00088 const axis2_env_t *env,
00089 axis2_char_t *request_uri,
00090 axis2_msg_ctx_t *msg_ctx,
00091 axis2_stream_t *in_stream,
00092 axis2_char_t *content_type);
00093
00094 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00095 axis2_http_transport_utils_do_write_mtom(
00096 const axis2_env_t *env,
00097 axis2_msg_ctx_t *msg_ctx);
00098
00099 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00100 axis2_http_transport_utils_is_doing_rest(
00101 const axis2_env_t *env,
00102 axis2_msg_ctx_t *msg_ctx);
00103
00104 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00105 axis2_http_transport_utils_is_doing_rest_through_post(
00106 const axis2_env_t *env,
00107 axis2_msg_ctx_t *msg_ctx);
00108
00109 AXIS2_EXTERN axis2_hash_t *AXIS2_CALL
00110 axis2_http_transport_utils_get_request_params(
00111 const axis2_env_t *env,
00112 axis2_char_t *request_uri);
00113
00114 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00115 axis2_http_transport_utils_get_services_html(
00116 const axis2_env_t *env,
00117 axis2_conf_ctx_t *conf_ctx);
00118
00119 AXIS2_EXTERN axis2_hash_t *AXIS2_CALL
00120 axis2_http_transport_utils_get_request_params(
00121 const axis2_env_t *env,
00122 axis2_char_t *request_uri);
00123
00124 AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00125 axis2_http_transport_utils_create_soap_msg(
00126 const axis2_env_t *env,
00127 axis2_msg_ctx_t *msg_ctx,
00128 const axis2_char_t *soap_ns_uri);
00129
00130
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135
00136 #endif