00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_HTTP_REQUEST_LINE_H
00019 #define AXIS2_HTTP_REQUEST_LINE_H
00020
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axis2_env.h>
00035
00036
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041
00043 typedef struct axis2_http_request_line_ops axis2_http_request_line_ops_t;
00045 typedef struct axis2_http_request_line axis2_http_request_line_t;
00046
00047
00052 struct axis2_http_request_line_ops
00053 {
00058 axis2_char_t *(AXIS2_CALL *
00059 get_method)(
00060 const axis2_http_request_line_t *request_line,
00061 const axis2_env_t *env);
00062
00067 axis2_char_t *(AXIS2_CALL *
00068 get_http_version)(
00069 const axis2_http_request_line_t *request_line,
00070 const axis2_env_t *env);
00071
00076 axis2_char_t *(AXIS2_CALL *
00077 get_uri)(
00078 const axis2_http_request_line_t *request_line,
00079 const axis2_env_t *env);
00080
00085 axis2_char_t *(AXIS2_CALL *
00086 to_string)(
00087 axis2_http_request_line_t *request_line,
00088 const axis2_env_t *env);
00089
00095 axis2_status_t (AXIS2_CALL *
00096 free)(
00097 axis2_http_request_line_t *request_line,
00098 const axis2_env_t *env);
00099 };
00100
00105 struct axis2_http_request_line
00106 {
00107 axis2_http_request_line_ops_t *ops;
00108 };
00109
00116 AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL
00117 axis2_http_request_line_create(
00118 const axis2_env_t *env,
00119 const axis2_char_t *method,
00120 const axis2_char_t *uri,
00121 const axis2_char_t *http_version);
00122
00127 AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL
00128 axis2_http_request_line_parse_line(
00129 const axis2_env_t *env,
00130 const axis2_char_t *str);
00131
00132
00133
00136 #define AXIS2_HTTP_REQUEST_LINE_GET_METHOD(request_line, env) \
00137 ((request_line)->ops->get_method (request_line, env))
00138
00141 #define AXIS2_HTTP_REQUEST_LINE_GET_HTTP_VERSION(request_line, env) \
00142 ((request_line)->ops->get_http_version(request_line, env))
00143
00146 #define AXIS2_HTTP_REQUEST_LINE_GET_URI(request_line, env) \
00147 ((request_line)->ops->get_uri (request_line, env))
00148
00151 #define AXIS2_HTTP_REQUEST_LINE_TO_STRING(request_line, env) \
00152 ((request_line)->ops->to_string (request_line, env))
00153
00156 #define AXIS2_HTTP_REQUEST_LINE_FREE(request_line, env) \
00157 ((request_line)->ops->free(request_line, env))
00158
00159
00160
00162 #ifdef __cplusplus
00163 }
00164 #endif
00165 #endif