00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_HTTP_SIMPLE_REQUEST_H
00019 #define AXIS2_HTTP_SIMPLE_REQUEST_H
00020
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <axis2_http_request_line.h>
00036 #include <axis2_http_header.h>
00037 #include <axutil_stream.h>
00038 #include <axutil_array_list.h>
00039
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00047 typedef struct axis2_http_simple_request axis2_http_simple_request_t;
00048
00053 AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL
00054 axis2_http_simple_request_get_request_line(const axis2_http_simple_request_t *simple_request,
00055 const axutil_env_t *env);
00056
00063 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00064 axis2_http_simple_request_set_request_line(axis2_http_simple_request_t *simple_request,
00065 const axutil_env_t *env,
00066 axis2_http_request_line_t *request_line);
00067
00073 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00074 axis2_http_simple_request_contains_header(axis2_http_simple_request_t *simple_request,
00075 const axutil_env_t *env,
00076 const axis2_char_t *name);
00077
00082 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00083 axis2_http_simple_request_get_headers(const axis2_http_simple_request_t *simple_request,
00084 const axutil_env_t *env);
00085
00091 AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL
00092 axis2_http_simple_request_get_first_header(const axis2_http_simple_request_t *simple_request,
00093 const axutil_env_t *env,
00094 const axis2_char_t *str);
00095
00102 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103 axis2_http_simple_request_remove_headers(axis2_http_simple_request_t *simple_request,
00104 const axutil_env_t *env,
00105 const axis2_char_t *str);
00106
00113 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114 axis2_http_simple_request_add_header(axis2_http_simple_request_t *simple_request,
00115 const axutil_env_t *env,
00116 axis2_http_header_t *header);
00117
00122 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00123 axis2_http_simple_request_get_content_type(const axis2_http_simple_request_t *simple_request,
00124 const axutil_env_t *env);
00125
00130 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00131 axis2_http_simple_request_get_charset(const axis2_http_simple_request_t *simple_request,
00132 const axutil_env_t *env);
00133
00138 AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00139 axis2_http_simple_request_get_content_length(const axis2_http_simple_request_t *simple_request,
00140 const axutil_env_t *env);
00141
00146 AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00147 axis2_http_simple_request_get_body(const axis2_http_simple_request_t *simple_request,
00148 const axutil_env_t *env);
00149
00155 AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00156 axis2_http_simple_request_get_body_bytes(const axis2_http_simple_request_t *simple_request,
00157 const axutil_env_t *env,
00158 char **buf);
00159
00166 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00167 axis2_http_simple_request_set_body_string(axis2_http_simple_request_t *simple_request,
00168 const axutil_env_t *env,
00169 void *str,
00170 unsigned int str_len);
00171
00177 AXIS2_EXTERN void AXIS2_CALL
00178 axis2_http_simple_request_free(axis2_http_simple_request_t *simple_request,
00179 const axutil_env_t *env);
00180
00188 AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL
00189 axis2_http_simple_request_create (const axutil_env_t *env,
00190 axis2_http_request_line_t *request_line,
00191 axis2_http_header_t **http_headers,
00192 axis2_ssize_t http_hdr_count,
00193 axutil_stream_t *content);
00194
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199
00200 #endif