diff options
author | snowdrop | 2004-09-19 07:05:01 +0000 |
---|---|---|
committer | snowdrop | 2004-09-19 07:05:01 +0000 |
commit | d2c445f5d7cf21606c9878bff3e4046c283944df (patch) | |
tree | c562922b592bc3359a9dd12a671eff2974829592 /examples/nanohttp | |
parent | 6ea7f7e0961d05c5f0d995eecc785d1fd1e96b6f (diff) | |
download | csoap-d2c445f5d7cf21606c9878bff3e4046c283944df.tar.gz csoap-d2c445f5d7cf21606c9878bff3e4046c283944df.tar.bz2 |
Added http stream feature (only input stream yet)
Added DIME "client" support (very experimental)
Diffstat (limited to 'examples/nanohttp')
-rw-r--r-- | examples/nanohttp/httpget.c | 18 | ||||
-rw-r--r-- | examples/nanohttp/postserver.c | 63 |
2 files changed, 57 insertions, 24 deletions
diff --git a/examples/nanohttp/httpget.c b/examples/nanohttp/httpget.c index 319ff7f..e70469d 100644 --- a/examples/nanohttp/httpget.c +++ b/examples/nanohttp/httpget.c @@ -1,5 +1,5 @@ /****************************************************************** -* $Id: httpget.c,v 1.3 2004/08/26 17:02:24 rans Exp $ +* $Id: httpget.c,v 1.4 2004/09/19 07:05:03 snowdrop Exp $ * * CSOAP Project: A http client/server library in C (example) * Copyright (C) 2003 Ferhat Ayaz @@ -23,19 +23,10 @@ ******************************************************************/ #include <nanohttp/nanohttp-client.h> -#ifdef WIN32 -#include <stdafx.h> -#include <malloc.h> -#else #include <stdio.h> -#endif -#ifdef WIN32 -int _tmain(int argc, _TCHAR* argv[]) -#else int main(int argc, char *argv[]) -#endif { httpc_conn_t *conn; hresponse_t *res; @@ -47,6 +38,11 @@ int main(int argc, char *argv[]) } log_set_level(HLOG_VERBOSE); + if (httpc_init(argc, argv)) + { + log_error1("Can not init httpc"); + return 1; + } conn = httpc_new(); res = httpc_get(conn, argv[1]); @@ -75,4 +71,4 @@ int main(int argc, char *argv[]) httpc_free(conn); return 0; -}
\ No newline at end of file +} diff --git a/examples/nanohttp/postserver.c b/examples/nanohttp/postserver.c index 2a813b5..a28dc20 100644 --- a/examples/nanohttp/postserver.c +++ b/examples/nanohttp/postserver.c @@ -1,5 +1,5 @@ /****************************************************************** -* $Id: postserver.c,v 1.2 2004/08/26 17:02:24 rans Exp $ +* $Id: postserver.c,v 1.3 2004/09/19 07:05:03 snowdrop Exp $ * * CSOAP Project: A http client/server library in C (example) * Copyright (C) 2003 Ferhat Ayaz @@ -23,29 +23,70 @@ ******************************************************************/ #include <nanohttp/nanohttp-server.h> -#ifdef WIN32 -#include <stdafx.h> -#include <malloc.h> -#else #include <stdio.h> -#endif + +static +void _print_binary_ascii(int n) +{ + int i,c=0; + char ascii[36]; + + for (i=0;i<32;i++) { + ascii[34-i-c] = (n & (1<<i))?'1':'0'; + if ((i+1)%8 == 0) { + c++; + ascii[i+c] = ' '; + } + } + + ascii[35]='\0'; + + log_verbose2("%s", ascii); +} + + +static +void _print_binary_ascii2(unsigned char n) +{ + int i,c=0; + char ascii[9]; + + for (i=0;i<8;i++) { + ascii[7-i] = (n & (1<<i))?'1':'0'; + } + + ascii[8]='\0'; + + log_verbose2("%s", ascii); +} + /* SERVICE: http://host:port/postserver */ void post_service(httpd_conn_t *conn, hrequest_t *req) { - char *postdata; + unsigned char *postdata; long received; + unsigned int tmp; + char buffer[15]; postdata = httpd_get_postdata(conn, req, &received, -1); if (postdata != NULL) { httpd_send_header(conn, 200, "OK", NULL); - hsocket_send(conn->sock, "<html><body>"); - hsocket_send(conn->sock, "<h3>You Posted:</h3><hr>"); + hsocket_send(conn->sock, "<html><body>\n"); + hsocket_send(conn->sock, "<h3>You Posted:</h3><hr>\n"); hsocket_nsend(conn->sock, postdata, received); + hsocket_send(conn->sock, "<h3>Received size</h3><hr>\n"); + sprintf(buffer, "%d", received); + hsocket_send(conn->sock, buffer); hsocket_send(conn->sock, "</body></html>"); + + _print_binary_ascii2(postdata[0]); + _print_binary_ascii2(postdata[1]); + _print_binary_ascii2(postdata[2]); + _print_binary_ascii2(postdata[3]); free(postdata); } else { @@ -62,11 +103,7 @@ void post_service(httpd_conn_t *conn, hrequest_t *req) } -#ifdef WIN32 -int _tmain(int argc, _TCHAR* argv[]) -#else int main(int argc, char *argv[]) -#endif { log_set_level(HLOG_VERBOSE); |