You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2005/12/13 04:44:37 UTC

svn commit: r356461 [1/2] - in /webservices/axis2/trunk/c/modules/core/transport/http: ./ src/ src/.deps/

Author: samisa
Date: Mon Dec 12 19:44:22 2005
New Revision: 356461

URL: http://svn.apache.org/viewcvs?rev=356461&view=rev
Log:
Added HTTP transport module : source files

Added:
    webservices/axis2/trunk/c/modules/core/transport/http/
    webservices/axis2/trunk/c/modules/core/transport/http/Makefile.am
    webservices/axis2/trunk/c/modules/core/transport/http/src/
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_header.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_request_line.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_response_writer.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_request.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_response.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_status_line.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_worker.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_simple_http_svr_conn.Plo
    webservices/axis2/trunk/c/modules/core/transport/http/src/Makefile.am
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_header.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_request_line.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_response_writer.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_simple_request.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_simple_response.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_status_line.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_transport_utils.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_worker.c
    webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_simple_http_svr_conn.c

Added: webservices/axis2/trunk/c/modules/core/transport/http/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/Makefile.am?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/Makefile.am (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/Makefile.am Mon Dec 12 19:44:22 2005
@@ -0,0 +1 @@
+SUBDIRS = src

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_header.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_header.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_header.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_header.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,74 @@
+axis2_http_header.lo axis2_http_header.o: axis2_http_header.c \
+  ../../../../../include/axis2_http_header.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../modules/util/src/axis2_string.h
+
+../../../../../include/axis2_http_header.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../modules/util/src/axis2_string.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_request_line.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_request_line.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_request_line.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_request_line.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,80 @@
+axis2_http_request_line.lo axis2_http_request_line.o:  \
+ axis2_http_request_line.c \
+  ../../../../../include/axis2_http_request_line.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../modules/util/src/axis2_string.h /usr/include/string.h \
+  ../../../../../include/axis2_http_transport.h
+
+../../../../../include/axis2_http_request_line.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../modules/util/src/axis2_string.h:
+
+/usr/include/string.h:
+
+../../../../../include/axis2_http_transport.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_response_writer.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_response_writer.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_response_writer.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_response_writer.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,81 @@
+axis2_http_response_writer.lo axis2_http_response_writer.o:  \
+ axis2_http_response_writer.c \
+  ../../../../../include/axis2_http_response_writer.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../modules/util/src/axis2_array_list.h \
+  ../../../../../include/axis2_http_transport.h \
+  ../../../../../modules/util/src/axis2_string.h
+
+../../../../../include/axis2_http_response_writer.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../modules/util/src/axis2_array_list.h:
+
+../../../../../include/axis2_http_transport.h:
+
+../../../../../modules/util/src/axis2_string.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_request.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_request.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_request.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_request.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,89 @@
+axis2_http_simple_request.lo axis2_http_simple_request.o:  \
+ axis2_http_simple_request.c \
+  ../../../../../include/axis2_http_simple_request.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../include/axis2_http_request_line.h \
+  ../../../../../include/axis2_http_header.h \
+  ../../../../../modules/util/src/axis2_array_list.h \
+  ../../../../../include/axis2_http_transport.h \
+  ../../../../../modules/util/src/axis2_string.h /usr/include/string.h
+
+../../../../../include/axis2_http_simple_request.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../include/axis2_http_request_line.h:
+
+../../../../../include/axis2_http_header.h:
+
+../../../../../modules/util/src/axis2_array_list.h:
+
+../../../../../include/axis2_http_transport.h:
+
+../../../../../modules/util/src/axis2_string.h:
+
+/usr/include/string.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_response.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_response.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_response.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_simple_response.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,89 @@
+axis2_http_simple_response.lo axis2_http_simple_response.o:  \
+ axis2_http_simple_response.c \
+  ../../../../../include/axis2_http_simple_response.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../modules/util/src/axis2_array_list.h \
+  ../../../../../include/axis2_http_status_line.h \
+  ../../../../../include/axis2_http_header.h \
+  ../../../../../include/axis2_http_transport.h \
+  ../../../../../modules/util/src/axis2_string.h /usr/include/string.h
+
+../../../../../include/axis2_http_simple_response.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../modules/util/src/axis2_array_list.h:
+
+../../../../../include/axis2_http_status_line.h:
+
+../../../../../include/axis2_http_header.h:
+
+../../../../../include/axis2_http_transport.h:
+
+../../../../../modules/util/src/axis2_string.h:
+
+/usr/include/string.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_status_line.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_status_line.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_status_line.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_status_line.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,79 @@
+axis2_http_status_line.lo axis2_http_status_line.o:  \
+ axis2_http_status_line.c ../../../../../include/axis2_http_status_line.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../modules/util/src/axis2_string.h \
+  ../../../../../include/axis2_http_transport.h /usr/include/string.h
+
+../../../../../include/axis2_http_status_line.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../modules/util/src/axis2_string.h:
+
+../../../../../include/axis2_http_transport.h:
+
+/usr/include/string.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_worker.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_worker.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_worker.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_http_worker.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,257 @@
+axis2_http_worker.lo axis2_http_worker.o: axis2_http_worker.c \
+  ../../../../../include/axis2_http_worker.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../include/axis2_simple_http_svr_conn.h \
+  ../../../../../include/axis2_http_simple_request.h \
+  ../../../../../include/axis2_http_request_line.h \
+  ../../../../../include/axis2_http_header.h \
+  ../../../../../modules/util/src/axis2_array_list.h \
+  ../../../../../include/axis2_http_simple_response.h \
+  ../../../../../include/axis2_http_status_line.h \
+  ../../../../../include/axis2_http_response_writer.h \
+  ../../../../../include/axis2_conf_ctx.h \
+  ../../../../../modules/util/src/axis2_hash.h \
+  ../../../../../include/axis2_ctx.h \
+  ../../../../../include/axis2_svc_grp_ctx.h \
+  ../../../../../include/axis2_svc_ctx.h \
+  ../../../../../include/axis2_operation_ctx.h \
+  ../../../../../include/axis2_msg_ctx.h \
+  ../../../../../include/axis2_core.h \
+  ../../../../../modules/util/src/axis2_string.h \
+  ../../../../../include/axis2_relates_to.h \
+  ../../../../../include/axis2_param.h \
+  ../../../../../include/axis2_om_node.h \
+  ../../../../../include/axis2_handler_desc.h \
+  ../../../../../include/axis2_qname.h \
+  ../../../../../include/axis2_param_container.h \
+  ../../../../../include/axis2_phase_rule.h \
+  ../../../../../include/axis2_handler.h \
+  ../../../../../include/axis2_operation.h \
+  ../../../../../include/axis2_wsdl_operation.h \
+  ../../../../../include/axis2_wsdl_component.h \
+  ../../../../../modules/util/src/axis2_linked_list.h \
+  ../../../../../include/axis2_wsdl_extensible_element.h \
+  ../../../../../include/axis2_wsdl_msg_ref.h \
+  ../../../../../include/axis2_wsdl_extensible_component.h \
+  ../../../../../include/axis2_wsdl_feature.h \
+  ../../../../../include/axis2_wsdl_property.h \
+  ../../../../../include/axis2_wsdl_fault_ref.h \
+  ../../../../../include/axis2_wsdl_svc.h \
+  ../../../../../include/axis2_wsdl_interface.h \
+  ../../../../../include/axis2_wsdl_endpoint.h \
+  ../../../../../include/axis2_wsdl_binding.h \
+  ../../../../../include/axis2_wsdl_binding_operation.h \
+  ../../../../../include/axis2_wsdl_binding_msg_ref.h \
+  ../../../../../include/axis2_wsdl_binding_fault.h \
+  ../../../../../include/axis2_svc.h \
+  ../../../../../include/axis2_flow_container.h \
+  ../../../../../include/axis2_flow.h \
+  ../../../../../include/axis2_svc_grp.h \
+  ../../../../../include/axis2_phase_resolver.h \
+  ../../../../../include/axis2_phase.h \
+  ../../../../../include/axis2_module_desc.h \
+  ../../../../../include/axis2_engine_config.h \
+  ../../../../../include/axis2_transport_in_desc.h \
+  ../../../../../modules/core/transport/axis2_transport_listener.h \
+  ../../../../../modules/wsdl/src/axis2_wsdl.h \
+  ../../../../../include/axis2_phase_meta.h \
+  ../../../../../include/axis2_transport_out_desc.h \
+  ../../../../../modules/core/transport/axis2_transport_sender.h \
+  ../../../../../include/axis2_phases_info.h \
+  ../../../../../include/axis2_phase_holder.h \
+  ../../../../../include/axis2_wsdl_soap_operation.h \
+  ../../../../../include/axis2_msg_recv.h \
+  ../../../../../modules/core/description/src/axis2_description.h \
+  ../../../../../include/axis2_http_transport.h
+
+../../../../../include/axis2_http_worker.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../include/axis2_simple_http_svr_conn.h:
+
+../../../../../include/axis2_http_simple_request.h:
+
+../../../../../include/axis2_http_request_line.h:
+
+../../../../../include/axis2_http_header.h:
+
+../../../../../modules/util/src/axis2_array_list.h:
+
+../../../../../include/axis2_http_simple_response.h:
+
+../../../../../include/axis2_http_status_line.h:
+
+../../../../../include/axis2_http_response_writer.h:
+
+../../../../../include/axis2_conf_ctx.h:
+
+../../../../../modules/util/src/axis2_hash.h:
+
+../../../../../include/axis2_ctx.h:
+
+../../../../../include/axis2_svc_grp_ctx.h:
+
+../../../../../include/axis2_svc_ctx.h:
+
+../../../../../include/axis2_operation_ctx.h:
+
+../../../../../include/axis2_msg_ctx.h:
+
+../../../../../include/axis2_core.h:
+
+../../../../../modules/util/src/axis2_string.h:
+
+../../../../../include/axis2_relates_to.h:
+
+../../../../../include/axis2_param.h:
+
+../../../../../include/axis2_om_node.h:
+
+../../../../../include/axis2_handler_desc.h:
+
+../../../../../include/axis2_qname.h:
+
+../../../../../include/axis2_param_container.h:
+
+../../../../../include/axis2_phase_rule.h:
+
+../../../../../include/axis2_handler.h:
+
+../../../../../include/axis2_operation.h:
+
+../../../../../include/axis2_wsdl_operation.h:
+
+../../../../../include/axis2_wsdl_component.h:
+
+../../../../../modules/util/src/axis2_linked_list.h:
+
+../../../../../include/axis2_wsdl_extensible_element.h:
+
+../../../../../include/axis2_wsdl_msg_ref.h:
+
+../../../../../include/axis2_wsdl_extensible_component.h:
+
+../../../../../include/axis2_wsdl_feature.h:
+
+../../../../../include/axis2_wsdl_property.h:
+
+../../../../../include/axis2_wsdl_fault_ref.h:
+
+../../../../../include/axis2_wsdl_svc.h:
+
+../../../../../include/axis2_wsdl_interface.h:
+
+../../../../../include/axis2_wsdl_endpoint.h:
+
+../../../../../include/axis2_wsdl_binding.h:
+
+../../../../../include/axis2_wsdl_binding_operation.h:
+
+../../../../../include/axis2_wsdl_binding_msg_ref.h:
+
+../../../../../include/axis2_wsdl_binding_fault.h:
+
+../../../../../include/axis2_svc.h:
+
+../../../../../include/axis2_flow_container.h:
+
+../../../../../include/axis2_flow.h:
+
+../../../../../include/axis2_svc_grp.h:
+
+../../../../../include/axis2_phase_resolver.h:
+
+../../../../../include/axis2_phase.h:
+
+../../../../../include/axis2_module_desc.h:
+
+../../../../../include/axis2_engine_config.h:
+
+../../../../../include/axis2_transport_in_desc.h:
+
+../../../../../modules/core/transport/axis2_transport_listener.h:
+
+../../../../../modules/wsdl/src/axis2_wsdl.h:
+
+../../../../../include/axis2_phase_meta.h:
+
+../../../../../include/axis2_transport_out_desc.h:
+
+../../../../../modules/core/transport/axis2_transport_sender.h:
+
+../../../../../include/axis2_phases_info.h:
+
+../../../../../include/axis2_phase_holder.h:
+
+../../../../../include/axis2_wsdl_soap_operation.h:
+
+../../../../../include/axis2_msg_recv.h:
+
+../../../../../modules/core/description/src/axis2_description.h:
+
+../../../../../include/axis2_http_transport.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_simple_http_svr_conn.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_simple_http_svr_conn.Plo?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_simple_http_svr_conn.Plo (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/.deps/axis2_simple_http_svr_conn.Plo Mon Dec 12 19:44:22 2005
@@ -0,0 +1,101 @@
+axis2_simple_http_svr_conn.lo axis2_simple_http_svr_conn.o:  \
+ axis2_simple_http_svr_conn.c \
+  ../../../../../include/axis2_simple_http_svr_conn.h \
+  ../../../../../include/axis2.h /usr/include/stdlib.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+  /usr/include/stdio.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h \
+  /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  ../../../../../include/axis2_env.h \
+  ../../../../../include/axis2_allocator.h \
+  ../../../../../include/axis2_defines.h \
+  ../../../../../include/axis2_error.h \
+  ../../../../../include/axis2_stream.h \
+  ../../../../../include/axis2_log.h \
+  ../../../../../include/axis2_http_simple_request.h \
+  ../../../../../include/axis2_http_request_line.h \
+  ../../../../../include/axis2_http_header.h \
+  ../../../../../modules/util/src/axis2_array_list.h \
+  ../../../../../include/axis2_http_simple_response.h \
+  ../../../../../include/axis2_http_status_line.h \
+  ../../../../../include/axis2_http_response_writer.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h
+
+../../../../../include/axis2_simple_http_svr_conn.h:
+
+../../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+../../../../../include/axis2_env.h:
+
+../../../../../include/axis2_allocator.h:
+
+../../../../../include/axis2_defines.h:
+
+../../../../../include/axis2_error.h:
+
+../../../../../include/axis2_stream.h:
+
+../../../../../include/axis2_log.h:
+
+../../../../../include/axis2_http_simple_request.h:
+
+../../../../../include/axis2_http_request_line.h:
+
+../../../../../include/axis2_http_header.h:
+
+../../../../../modules/util/src/axis2_array_list.h:
+
+../../../../../include/axis2_http_simple_response.h:
+
+../../../../../include/axis2_http_status_line.h:
+
+../../../../../include/axis2_http_response_writer.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/confname.h:

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/Makefile.am?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/Makefile.am (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/Makefile.am Mon Dec 12 19:44:22 2005
@@ -0,0 +1,19 @@
+lib_LTLIBRARIES = libaxis2_http_transport.la
+AM_CPPFLAGS = $(CPPFLAGS)
+libaxis2_http_transport_la_SOURCES = axis2_http_worker.c \
+                              	     axis2_simple_http_svr_conn.c\
+                				     axis2_http_simple_request.c\
+                				     axis2_http_simple_response.c\
+				                     axis2_http_response_writer.c\
+				                     axis2_http_request_line.c\
+				                     axis2_http_status_line.c\
+				                     axis2_http_header.c
+
+INCLUDES = -I$(top_builddir)/include \
+	       -I${CUTEST_HOME}/include \
+           -I$(top_builddir)/modules/util/src \
+           -I$(top_builddir)/modules/xml/parser\
+	       -I$(top_builddir)/modules/wsdl/src\
+	       -I$(top_builddir)/modules/core/transport\
+	       -I$(top_builddir)/modules/core/transport/http/src\
+           -I$(top_builddir)/modules/core/description/src

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_header.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_header.c?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_header.c (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_header.c Mon Dec 12 19:44:22 2005
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_http_header.h>
+#include <axis2_string.h>
+
+
+/** 
+ * @brief HTTP Header struct impl
+ *	Axis2 HTTP Header impl  
+ */
+typedef struct axis2_http_header_impl axis2_http_header_impl_t;  
+  
+struct axis2_http_header_impl
+{
+	axis2_http_header_t http_header;
+	axis2_char_t *name;
+    axis2_char_t *value;
+};
+
+#define AXIS2_INTF_TO_IMPL(http_header) \
+                ((axis2_http_header_impl_t *)(http_header))
+
+/***************************** Function headers *******************************/
+axis2_char_t* AXIS2_CALL 
+axis2_http_header_to_external_form (axis2_http_header_t *header, 
+                axis2_env_t **env);
+    
+axis2_char_t* AXIS2_CALL 
+axis2_http_header_get_name (axis2_http_header_t *header, axis2_env_t **env);
+    
+axis2_char_t* AXIS2_CALL 
+axis2_http_header_get_value (axis2_http_header_t *header, axis2_env_t **env);
+    
+axis2_status_t AXIS2_CALL 
+axis2_http_header_free (axis2_http_header_t *header, axis2_env_t **env);								
+
+/***************************** End of function headers ************************/
+
+AXIS2_DECLARE(axis2_http_header_t *) AXIS2_CALL
+axis2_http_header_create (axis2_env_t **env, axis2_char_t *name, 
+                            axis2_char_t *value)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    AXIS2_FUNC_PARAM_CHECK(name, env, NULL);
+    AXIS2_FUNC_PARAM_CHECK(value, env, NULL);
+        
+    axis2_http_header_impl_t *http_header_impl = 
+                        (axis2_http_header_impl_t *)AXIS2_MALLOC 
+                        ((*env)->allocator, sizeof(
+                        axis2_http_header_impl_t));
+	
+    if(NULL == http_header_impl)
+	{
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    http_header_impl->name = (axis2_char_t *)AXIS2_STRDUP(name, env);
+    http_header_impl->value = (axis2_char_t *)AXIS2_STRDUP(value, env);
+     
+    http_header_impl->http_header.ops = AXIS2_MALLOC((*env)->allocator,
+        sizeof(axis2_http_header_ops_t));
+    if(NULL == http_header_impl->http_header.ops)
+	{
+		axis2_http_header_free((axis2_http_header_t*)
+                         http_header_impl, env);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    
+    http_header_impl->http_header.ops->to_external_form = 
+                        axis2_http_header_to_external_form;
+    http_header_impl->http_header.ops->get_name = axis2_http_header_get_name;
+    http_header_impl->http_header.ops->get_value = axis2_http_header_get_value;
+    http_header_impl->http_header.ops->free = axis2_http_header_free;
+                        
+	return &(http_header_impl->http_header);
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_header_free (axis2_http_header_t *header, axis2_env_t **env)
+{
+	AXIS2_FUNC_PARAM_CHECK(header, env, AXIS2_FAILURE);
+    axis2_http_header_impl_t *http_header_impl =
+                        AXIS2_INTF_TO_IMPL(header);
+    if(NULL != http_header_impl->name)
+    {
+        AXIS2_FREE((*env)->allocator, http_header_impl->name);
+        http_header_impl->name = NULL;
+    }
+    if(NULL != http_header_impl->value)
+    {
+        AXIS2_FREE((*env)->allocator, http_header_impl->value);
+        http_header_impl->value = NULL;
+    }
+    if(NULL != header->ops)
+        AXIS2_FREE((*env)->allocator, header->ops);
+    
+	AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(header));
+	return AXIS2_SUCCESS;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_header_to_external_form (axis2_http_header_t *header, 
+                axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(header, env, NULL);
+    axis2_http_header_impl_t *http_header_impl = AXIS2_INTF_TO_IMPL(header);
+    axis2_ssize_t len = AXIS2_STRLEN(http_header_impl->name) + 
+                AXIS2_STRLEN(http_header_impl->value) + 2;
+    axis2_char_t *external_form = (axis2_char_t*) AXIS2_MALLOC((*env)->allocator,
+                len);
+    sprintf(external_form, "%s:%s", http_header_impl->name, 
+                http_header_impl->value);
+    return external_form;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_header_get_name (axis2_http_header_t *header, axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(header, env, NULL);
+    return AXIS2_INTF_TO_IMPL(header)->name;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_header_get_value (axis2_http_header_t *header, axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(header, env, NULL);
+    return AXIS2_INTF_TO_IMPL(header)->value;
+}

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_request_line.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_request_line.c?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_request_line.c (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_request_line.c Mon Dec 12 19:44:22 2005
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_http_request_line.h>
+#include <axis2_string.h>
+#include <string.h>
+#include <axis2_http_transport.h>
+
+/** 
+ * @brief HTTP Request Line struct impl
+ *	Axis2 HTTP Request Line impl  
+ */
+typedef struct axis2_http_request_line_impl axis2_http_request_line_impl_t;  
+  
+struct axis2_http_request_line_impl
+{
+	axis2_http_request_line_t request_line;
+	axis2_char_t *http_version;
+    axis2_char_t *method;
+    axis2_char_t *uri;
+};
+
+#define AXIS2_INTF_TO_IMPL(request_line) \
+                 ((axis2_http_request_line_impl_t *)(request_line))
+
+/***************************** Function headers *******************************/
+
+/*  
+ *  This is just a function
+ *  Not assciated with an ops struct
+ */
+axis2_http_request_line_t* AXIS2_CALL 
+axis2_http_request_line_parse_line(axis2_env_t **env, const axis2_char_t *str);
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_get_method(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_get_http_version
+                            (axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_get_uri(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_to_string(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_request_line_free(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env);								
+/***************************** End of function headers ************************/
+
+axis2_http_request_line_t * AXIS2_CALL 
+axis2_http_request_line_create(axis2_env_t **env, axis2_char_t *method, 
+                                axis2_char_t *uri, axis2_char_t *http_version)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, method, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, uri, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, http_version, NULL);
+        
+    axis2_http_request_line_impl_t *request_line_impl = 
+                        (axis2_http_request_line_impl_t *)AXIS2_MALLOC 
+                        ((*env)->allocator, sizeof(
+                        axis2_http_request_line_impl_t));
+	
+    if(NULL == request_line_impl)
+	{
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    request_line_impl->method = (axis2_char_t *)AXIS2_STRDUP(method, env);
+    request_line_impl->uri = (axis2_char_t *)AXIS2_STRDUP(uri, env);
+    request_line_impl->http_version = (axis2_char_t *)AXIS2_STRDUP(
+                         http_version, env);
+     
+    request_line_impl->request_line.ops = AXIS2_MALLOC((*env)->allocator,
+        sizeof(axis2_http_request_line_ops_t));
+    if(NULL == request_line_impl->request_line.ops)
+	{
+		axis2_http_request_line_free((axis2_http_request_line_t*)
+                         request_line_impl, env);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    
+    request_line_impl->request_line.ops->get_method =
+                        axis2_http_request_line_get_method;
+    request_line_impl->request_line.ops->get_http_version =
+                        axis2_http_request_line_get_http_version;
+    request_line_impl->request_line.ops->get_uri =
+                        axis2_http_request_line_get_uri;
+    request_line_impl->request_line.ops->to_string =
+                        axis2_http_request_line_to_string;
+    request_line_impl->request_line.ops->free =
+                        axis2_http_request_line_free;
+	return &(request_line_impl->request_line);
+}
+
+axis2_status_t AXIS2_CALL
+axis2_http_request_line_free(axis2_http_request_line_t *request_line, 
+                        axis2_env_t **env)
+{
+	AXIS2_FUNC_PARAM_CHECK(request_line, env, AXIS2_FAILURE);
+    axis2_http_request_line_impl_t *request_line_impl =
+                        AXIS2_INTF_TO_IMPL(request_line);
+    if(NULL != request_line_impl->method)
+    {
+        AXIS2_FREE((*env)->allocator, request_line_impl->method);
+        request_line_impl->method = NULL;
+    }
+    if(NULL != request_line_impl->uri)
+    {
+        AXIS2_FREE((*env)->allocator, request_line_impl->uri);
+        request_line_impl->uri = NULL;
+    }
+    if(NULL != request_line_impl->http_version)
+    {
+        AXIS2_FREE((*env)->allocator, request_line_impl->http_version);
+        request_line_impl->http_version = NULL;
+    }        
+    if(NULL != request_line->ops)
+        AXIS2_FREE((*env)->allocator, request_line->ops);
+    
+	AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(request_line));
+	return AXIS2_SUCCESS;
+}
+
+axis2_http_request_line_t* AXIS2_CALL 
+axis2_http_request_line_parse_line(axis2_env_t **env, const axis2_char_t *str)
+{
+    AXIS2_PARAM_CHECK((*env)->error, str, NULL);
+    axis2_char_t *tmp = strstr(str, AXIS2_HTTP_CRLF);
+    axis2_char_t *req_line = NULL;
+    axis2_char_t *method = NULL;
+    axis2_char_t *uri = NULL;
+    axis2_char_t *http_version = NULL;
+    axis2_http_request_line_t *ret = NULL;
+    
+    int i = 0;
+    
+    if(NULL == tmp)
+    {
+        AXIS2_ERROR_SET((*env)->error, 
+                        AXIS2_ERROR_INVALID_HTTP_INVALID_HEADER_START_LINE, 
+                        NULL);
+    }
+    i = tmp - str;
+    req_line = AXIS2_MALLOC((*env)->allocator, i * sizeof(axis2_char_t) +1);
+    if(NULL == req_line)
+    {
+       AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL); 
+    }
+    memcpy(req_line, str, i * sizeof(axis2_char_t));
+    req_line[i] = '\0';
+    tmp = req_line;
+    
+    method = tmp;
+    tmp = strchr(tmp, ' ');
+    if(NULL == tmp)
+    {
+        AXIS2_FREE((*env)->allocator, req_line);
+        AXIS2_ERROR_SET((*env)->error, 
+                    AXIS2_ERROR_INVALID_HTTP_INVALID_HEADER_START_LINE, 
+                    NULL);
+    }
+    *tmp++ = '\0';
+    uri = tmp;
+    tmp = strchr(tmp, ' ');
+    if(NULL == tmp)
+    {
+        AXIS2_FREE((*env)->allocator, req_line);
+        AXIS2_ERROR_SET((*env)->error, 
+                    AXIS2_ERROR_INVALID_HTTP_INVALID_HEADER_START_LINE, 
+                    NULL);
+    }
+    *tmp++ = '\0';
+    http_version = tmp;
+    ret = axis2_http_request_line_create(env, method, uri, http_version);
+    AXIS2_FREE((*env)->allocator, req_line);
+    
+    return ret;    
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_get_method(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(request_line, env, NULL);
+    return AXIS2_INTF_TO_IMPL(request_line)->method;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_get_http_version
+                            (axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(request_line, env, NULL);
+    return AXIS2_INTF_TO_IMPL(request_line)->http_version;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_get_uri(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(request_line, env, NULL);
+    return AXIS2_INTF_TO_IMPL(request_line)->uri;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_request_line_to_string(axis2_http_request_line_t *request_line, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(request_line, env, NULL);
+    
+    axis2_http_request_line_impl_t *req_line_impl = AXIS2_INTF_TO_IMPL(
+                            request_line);
+    int alloc_len = AXIS2_STRLEN(req_line_impl->method) + 
+                    AXIS2_STRLEN(req_line_impl->uri)+
+                    AXIS2_STRLEN(req_line_impl->http_version) + 5;
+    /* 5 = 2 * spaces + CR + LF + '\0' */
+
+    axis2_char_t *ret = AXIS2_MALLOC((*env)->allocator, 
+                    alloc_len * sizeof(axis2_char_t));
+    if(NULL == ret)
+    {
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL); 
+    }
+    sprintf(ret, "%s %s %s %s", req_line_impl->method, req_line_impl->uri, 
+                    req_line_impl->http_version, AXIS2_HTTP_CRLF);
+    return ret;
+}

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_response_writer.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_response_writer.c?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_response_writer.c (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_response_writer.c Mon Dec 12 19:44:22 2005
@@ -0,0 +1,282 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_http_response_writer.h>
+#include <axis2_array_list.h>
+#include <axis2_http_transport.h>
+#include <axis2_string.h>
+
+/** 
+ * @brief HTTP Response Writer struct impl
+ *	Axis2 HTTP Response Writer impl  
+ */
+typedef struct axis2_http_response_writer_impl 
+                    axis2_http_response_writer_impl_t;  
+  
+struct axis2_http_response_writer_impl
+{
+	axis2_http_response_writer_t response_writer;
+    axis2_stream_t *stream;
+    axis2_char_t *encoding;
+};
+
+#define AXIS2_INTF_TO_IMPL(response_writer) \
+                 ((axis2_http_response_writer_impl_t *)(response_writer))
+
+/***************************** Function headers *******************************/
+axis2_char_t* AXIS2_CALL 
+axis2_http_response_writer_get_encoding
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_close(axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_flush(axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_write_char
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char c);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_write_buf
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char *buf, int offset, 
+                axis2_ssize_t len);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_print_str
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char *str);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_print_int
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, int i);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_println_str
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char *str);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_println
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_free(axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env);
+
+								
+/***************************** End of function headers ************************/
+axis2_http_response_writer_t* AXIS2_CALL
+axis2_http_response_writer_create (axis2_env_t **env, axis2_stream_t *stream)
+{
+    AXIS2_FUNC_PARAM_CHECK(stream, env, NULL);
+    return axis2_http_response_writer_create_with_encoding(env, stream, 
+                AXIS2_HTTP_DEFAULT_CONTENT_CHARSET);
+    
+}
+
+axis2_http_response_writer_t* AXIS2_CALL
+axis2_http_response_writer_create_with_encoding(axis2_env_t **env,
+                    axis2_stream_t *stream, const axis2_char_t *encoding)
+{
+    AXIS2_FUNC_PARAM_CHECK(stream, env, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, encoding, NULL);
+    
+    axis2_http_response_writer_impl_t *response_writer_impl = 
+                        (axis2_http_response_writer_impl_t *)AXIS2_MALLOC 
+                        ((*env)->allocator, sizeof(
+                        axis2_http_response_writer_impl_t));
+	
+    if(NULL == response_writer_impl)
+	{
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    response_writer_impl->stream = stream;
+    response_writer_impl->encoding = (axis2_char_t *)AXIS2_STRDUP(encoding, env);
+    
+    response_writer_impl->response_writer.ops = AXIS2_MALLOC((*env)->allocator,
+        sizeof(axis2_http_response_writer_ops_t));
+    if(NULL == response_writer_impl->response_writer.ops)
+	{
+		axis2_http_response_writer_free((axis2_http_response_writer_t*)
+                                        response_writer_impl, env);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    
+    response_writer_impl->response_writer.ops->get_encoding = 
+                        axis2_http_response_writer_get_encoding;
+    response_writer_impl->response_writer.ops->close =
+                        axis2_http_response_writer_close;
+    response_writer_impl->response_writer.ops->flush =
+                        axis2_http_response_writer_flush;
+    response_writer_impl->response_writer.ops->write_char = 
+                        axis2_http_response_writer_write_char;
+    response_writer_impl->response_writer.ops->write_buf =
+                        axis2_http_response_writer_write_buf;
+    response_writer_impl->response_writer.ops->print_str =
+                        axis2_http_response_writer_print_str;
+    response_writer_impl->response_writer.ops->print_int =
+                        axis2_http_response_writer_print_int;
+    response_writer_impl->response_writer.ops->println_str =
+                        axis2_http_response_writer_println_str;
+    response_writer_impl->response_writer.ops->println =
+                        axis2_http_response_writer_println;
+    response_writer_impl->response_writer.ops->free =
+                        axis2_http_response_writer_free;
+                        
+	return &(response_writer_impl->response_writer);
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_free(axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env)
+{
+	AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    AXIS2_FREE((*env)->allocator, 
+                AXIS2_INTF_TO_IMPL(response_writer)->encoding);
+    
+    if(NULL != response_writer->ops)
+        AXIS2_FREE((*env)->allocator, response_writer->ops);
+    
+	AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(response_writer));
+    
+	return AXIS2_SUCCESS;
+}
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_response_writer_get_encoding
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, NULL);
+    return AXIS2_INTF_TO_IMPL(response_writer)->encoding;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_close(axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    /*
+        TODO stream dependent
+    */
+    return AXIS2_SUCCESS;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_flush(axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    /*
+        TODO stream dependent
+    */
+    return AXIS2_FALSE;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_write_char
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char c)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    /*
+        TODO stream dependent
+    */
+    return AXIS2_SUCCESS;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_write_buf
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char *buf, int offset, 
+                axis2_ssize_t len)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, buf, AXIS2_FAILURE);
+    /*
+        TODO stream dependent
+    */
+    return AXIS2_SUCCESS;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_print_str
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char *str)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, str, AXIS2_FAILURE);
+    /*
+        TODO stream dependent
+    */
+    return AXIS2_SUCCESS;    
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_print_int
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, int i)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    axis2_char_t *int_str[10];
+    sprintf(int_str, "%10d", i);
+    return axis2_http_response_writer_print_str(response_writer, env, int_str);
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_println_str
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env, char *str)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, str, AXIS2_FAILURE);
+    
+    if (AXIS2_SUCCESS == axis2_http_response_writer_print_str(response_writer, 
+                env, str))
+    {
+        return axis2_http_response_writer_print_str(response_writer, env, 
+                AXIS2_HTTP_CRLF);
+    }
+    return AXIS2_FAILURE;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_response_writer_println
+                (axis2_http_response_writer_t *response_writer, 
+                axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(response_writer, env, AXIS2_FAILURE);
+    return axis2_http_response_writer_print_str(response_writer, env, 
+                AXIS2_HTTP_CRLF);
+}

Added: webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_simple_request.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_simple_request.c?rev=356461&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_simple_request.c (added)
+++ webservices/axis2/trunk/c/modules/core/transport/http/src/axis2_http_simple_request.c Mon Dec 12 19:44:22 2005
@@ -0,0 +1,460 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_http_simple_request.h>
+#include <axis2_array_list.h>
+#include <axis2_http_transport.h>
+#include <axis2_string.h>
+#include <string.h>
+
+/** 
+ * @brief HTTP Simple Request struct impl
+ *	Axis2 HTTP Simple Request impl  
+ */
+typedef struct axis2_http_simple_request_impl axis2_http_simple_request_impl_t;  
+  
+struct axis2_http_simple_request_impl
+{
+	axis2_http_simple_request_t simple_request;
+	axis2_http_request_line_t *request_line;
+    axis2_array_list_t *header_group;
+    axis2_stream_t *stream;
+};
+
+#define AXIS2_INTF_TO_IMPL(simple_request) \
+                 ((axis2_http_simple_request_impl_t *)(simple_request))
+
+/***************************** Function headers *******************************/
+
+axis2_http_request_line_t* AXIS2_CALL 
+axis2_http_simple_request_get_request_line
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_set_request_line
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, 
+                        axis2_http_request_line_t *request_line);
+
+axis2_bool_t AXIS2_CALL 
+axis2_http_simple_request_contains_header
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, axis2_char_t *name);
+
+axis2_array_list_t* AXIS2_CALL 
+axis2_http_simple_request_get_headers
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+
+axis2_http_header_t* AXIS2_CALL 
+axis2_http_simple_request_get_first_header
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, const axis2_char_t *str);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_remove_headers
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, const axis2_char_t *str);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_add_header
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, axis2_http_header_t *header);
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_simple_request_get_content_type
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_simple_request_get_charset
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+
+axis2_ssize_t AXIS2_CALL 
+axis2_http_simple_request_get_content_length
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+
+axis2_stream_t* AXIS2_CALL 
+axis2_http_simple_request_get_body(axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+
+axis2_ssize_t AXIS2_CALL 
+axis2_http_simple_request_get_body_bytes
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, axis2_char_t *buf);
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_free(axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env);
+								
+/***************************** End of function headers ************************/
+
+axis2_http_simple_request_t * AXIS2_CALL 
+axis2_http_simple_request_create 
+                        (axis2_env_t **env,
+                        axis2_http_request_line_t *request_line,
+                        axis2_http_header_t **http_headers,
+                        axis2_ssize_t http_hdr_count,
+                        axis2_stream_t *content)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    AXIS2_FUNC_PARAM_CHECK(request_line, env, NULL);
+    
+    axis2_http_simple_request_impl_t *simple_request_impl = 
+                        (axis2_http_simple_request_impl_t *)AXIS2_MALLOC 
+                        ((*env)->allocator, sizeof(
+                        axis2_http_simple_request_impl_t));
+	
+    if(NULL == simple_request_impl)
+	{
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    simple_request_impl->request_line = request_line;
+    simple_request_impl->stream = content;
+    simple_request_impl->header_group = NULL;
+    if(http_hdr_count > 0 && NULL != http_headers)
+    {
+        simple_request_impl->header_group = axis2_array_list_create(env, 
+                        http_hdr_count);
+        int i = 0;
+        for(i = 0; i < http_hdr_count; i++)
+        {
+            AXIS2_ARRAY_LIST_ADD(simple_request_impl->header_group, env, 
+                        (void*)http_headers[i]);
+        }
+    }
+    /*
+        TODO : handle chunked streams
+    */
+    simple_request_impl->simple_request.ops = AXIS2_MALLOC((*env)->allocator,
+        sizeof(axis2_http_simple_request_ops_t));
+    if(NULL == simple_request_impl->simple_request.ops)
+	{
+		axis2_http_simple_request_free((axis2_http_simple_request_t*)
+                        simple_request_impl, env);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+    
+    simple_request_impl->simple_request.ops->get_request_line = 
+                        axis2_http_simple_request_get_request_line;
+    simple_request_impl->simple_request.ops->set_request_line =
+                        axis2_http_simple_request_set_request_line;
+    simple_request_impl->simple_request.ops->contains_header = 
+                        axis2_http_simple_request_contains_header;
+    simple_request_impl->simple_request.ops->get_headers = 
+                        axis2_http_simple_request_get_headers;
+    simple_request_impl->simple_request.ops->get_first_header =
+                        axis2_http_simple_request_get_first_header;
+    simple_request_impl->simple_request.ops->remove_headers =
+                        axis2_http_simple_request_remove_headers;
+    simple_request_impl->simple_request.ops->add_header = 
+                        axis2_http_simple_request_add_header;
+    simple_request_impl->simple_request.ops->get_content_type =
+                        axis2_http_simple_request_get_content_type;
+    simple_request_impl->simple_request.ops->get_charset =
+                        axis2_http_simple_request_get_charset;
+    simple_request_impl->simple_request.ops->get_content_length =
+                        axis2_http_simple_request_get_content_length;
+    simple_request_impl->simple_request.ops->get_body =
+                        axis2_http_simple_request_get_body;
+    simple_request_impl->simple_request.ops->get_body_bytes =
+                        axis2_http_simple_request_get_body_bytes;
+    simple_request_impl->simple_request.ops->free = 
+                        axis2_http_simple_request_free;
+    
+	return &(simple_request_impl->simple_request);
+}
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_free(axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+	AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    axis2_http_simple_request_impl_t *simple_request_impl = 
+                        AXIS2_INTF_TO_IMPL(simple_request);
+    /*
+        Don't free the stream since it belongs to the socket
+        TODO : if chunked remove the chunked stream.
+    */
+    if(NULL != simple_request_impl->request_line)
+    {
+        AXIS2_HTTP_REQUEST_LINE_FREE(simple_request_impl->request_line, env);
+        simple_request_impl->request_line = NULL;
+    }
+    if(NULL != simple_request_impl->header_group)
+    {
+        int i = 0;
+        axis2_http_header_t *tmp = NULL;
+        for(i = 0; i< AXIS2_ARRAY_LIST_SIZE(simple_request_impl->header_group, 
+                        env); i++)
+        {
+            tmp = (axis2_http_header_t *)AXIS2_ARRAY_LIST_REMOVE(
+                            simple_request_impl->header_group, env, i);
+            AXIS2_HTTP_HEADER_FREE(tmp, env);        
+        }
+        AXIS2_ARRAY_LIST_FREE(simple_request_impl->header_group, env);
+        simple_request_impl->header_group = NULL;
+    }
+    
+    if(NULL != simple_request->ops)
+        AXIS2_FREE((*env)->allocator, simple_request->ops);
+    
+	AXIS2_FREE((*env)->allocator, simple_request_impl);
+    
+	return AXIS2_SUCCESS;
+}
+
+axis2_http_request_line_t* AXIS2_CALL 
+axis2_http_simple_request_get_request_line
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, NULL);
+    return AXIS2_INTF_TO_IMPL(simple_request)->request_line;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_set_request_line
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, 
+                        axis2_http_request_line_t *request_line)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, request_line, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(simple_request)->request_line = request_line;
+    return AXIS2_SUCCESS;
+}
+
+
+axis2_bool_t AXIS2_CALL 
+axis2_http_simple_request_contains_header
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, axis2_char_t *name)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, name, AXIS2_FAILURE);
+    axis2_http_simple_request_impl_t *simple_request_impl = AXIS2_INTF_TO_IMPL(
+                        simple_request);                 
+    if(NULL == simple_request_impl->header_group)
+    {
+        return AXIS2_FALSE;
+    }
+    int count = AXIS2_ARRAY_LIST_SIZE(simple_request_impl->header_group, env);
+    if(0 == count)
+    {
+        return AXIS2_FALSE;
+    }
+    int i = 0;
+    axis2_char_t *header_name = NULL;
+    for(i = 0; i < count; i++)
+    {
+        header_name = AXIS2_HTTP_HEADER_GET_NAME((axis2_http_header_t *)
+                        AXIS2_ARRAY_LIST_GET(simple_request_impl->header_group,
+                        env, i), env);
+        if(0 == AXIS2_STRCASECMP(name,header_name))
+            return AXIS2_TRUE;            
+    }
+    return AXIS2_FALSE;
+}
+
+
+axis2_array_list_t* AXIS2_CALL 
+axis2_http_simple_request_get_headers
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, NULL);
+    return AXIS2_INTF_TO_IMPL(simple_request)->header_group;
+}
+
+
+axis2_http_header_t* AXIS2_CALL 
+axis2_http_simple_request_get_first_header
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, const axis2_char_t *str)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, str, NULL);
+    
+    axis2_http_simple_request_impl_t *simple_request_impl = 
+                        AXIS2_INTF_TO_IMPL(simple_request);
+    
+    axis2_array_list_t *header_group = simple_request_impl->header_group;
+    if(NULL == simple_request_impl->header_group)
+    {
+        return NULL;
+    }
+    if(0 == AXIS2_ARRAY_LIST_SIZE(header_group, env))
+    {
+        return NULL;
+    }
+    
+    int i = 0;
+    int count = AXIS2_ARRAY_LIST_SIZE(header_group, env);
+    axis2_http_header_t *tmp_header = NULL;
+    axis2_char_t *tmp_name = NULL;
+    
+    for(i = 0; i < count; i++)
+    {
+        tmp_header = (axis2_http_header_t *)AXIS2_ARRAY_LIST_GET(header_group, 
+                        env, i);
+        tmp_name = AXIS2_HTTP_HEADER_GET_NAME(tmp_header, env);
+        if(0 == AXIS2_STRCASECMP(str, tmp_name))
+        {
+            return tmp_header;
+        }
+    }
+    return NULL;
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_remove_headers
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, const axis2_char_t *str)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, str, AXIS2_FAILURE);
+    
+    axis2_array_list_t *header_group = AXIS2_INTF_TO_IMPL(simple_request)->
+                        header_group;
+    if(NULL == header_group)
+    {
+        /* Even though we couldn't complete the operation, we are sure that the 
+         * requred header is no more in the request. So we can proceed without a
+         * problem.
+         */
+        return AXIS2_SUCCESS;
+    }
+    int i = 0;
+    int count = AXIS2_ARRAY_LIST_SIZE(header_group, env);
+    axis2_http_header_t *tmp_header = NULL;
+    axis2_char_t *tmp_name = NULL;
+    
+    for(i = 0; i < count; i++)
+    {
+        tmp_header = (axis2_http_header_t *)AXIS2_ARRAY_LIST_GET(header_group, 
+                        env, i);
+        tmp_name = AXIS2_HTTP_HEADER_GET_NAME(tmp_header, env);
+        if(0 == AXIS2_STRCASECMP(str, tmp_name))
+        {
+            AXIS2_HTTP_HEADER_FREE(tmp_header, env);
+            AXIS2_ARRAY_LIST_REMOVE(header_group, env, i);
+            break;
+        }
+    }
+    return AXIS2_SUCCESS;    
+}
+
+
+axis2_status_t AXIS2_CALL 
+axis2_http_simple_request_add_header
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, axis2_http_header_t *header)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, header, AXIS2_FAILURE);
+    
+    axis2_http_simple_request_impl_t *simple_request_impl = AXIS2_INTF_TO_IMPL(
+                        simple_request);
+    if(NULL == simple_request_impl->header_group)
+    {
+        simple_request_impl->header_group = axis2_array_list_create(env, 1);
+    }
+    return AXIS2_ARRAY_LIST_ADD(AXIS2_INTF_TO_IMPL(simple_request)->header_group,
+                        env, header);
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_simple_request_get_content_type
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, NULL);
+    axis2_http_header_t *tmp_header = axis2_http_simple_request_get_first_header
+                        (simple_request, env, AXIS2_HTTP_HEADER_CONTENT_TYPE);
+    if(NULL != tmp_header)
+        return AXIS2_HTTP_HEADER_GET_VALUE(tmp_header, env);
+    
+    return AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+axis2_http_simple_request_get_charset
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, NULL);
+    axis2_http_header_t *tmp_header = axis2_http_simple_request_get_first_header
+                        (simple_request, env, AXIS2_HTTP_HEADER_CONTENT_TYPE);
+    if(NULL != tmp_header)
+    {
+        axis2_char_t *value = AXIS2_HTTP_HEADER_GET_VALUE(tmp_header, env);
+        axis2_char_t *charset = (axis2_char_t *)strstr((char *)value, 
+                        (char *)AXIS2_HTTP_CHAR_SET_ENCODING);
+        if(NULL != charset)
+        {
+            charset = strchr((char *)charset, '=');
+            return charset;
+        }
+    }
+    
+    return AXIS2_HTTP_DEFAULT_CONTENT_CHARSET;
+}
+
+
+axis2_ssize_t AXIS2_CALL 
+axis2_http_simple_request_get_content_length
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    axis2_http_header_t *tmp_header = axis2_http_simple_request_get_first_header
+                        (simple_request, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH);
+    if(NULL != tmp_header)
+    {
+        return atoi(AXIS2_HTTP_HEADER_GET_VALUE(tmp_header, env));
+    }
+    return -1;
+}
+
+
+axis2_stream_t* AXIS2_CALL 
+axis2_http_simple_request_get_body(axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, NULL);
+    return AXIS2_INTF_TO_IMPL(simple_request)->stream;
+}
+
+
+axis2_ssize_t AXIS2_CALL 
+axis2_http_simple_request_get_body_bytes
+                        (axis2_http_simple_request_t *simple_request, 
+                        axis2_env_t **env, axis2_char_t *buf)
+{
+    AXIS2_FUNC_PARAM_CHECK(simple_request, env, AXIS2_FAILURE);
+    /*
+        TODO stream dependent
+    */
+    return -1;    
+}