axis2_http_transport_utils.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
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      * struct to hold the callback information
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                          /* AXIS2_HTTP_TRANSPORT_UTILS_H */

Generated on Thu May 3 12:31:01 2007 for Axis2/C by  doxygen 1.4.6