X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilchttp%2Ftests%2Ftest_silchttpserver.c;fp=lib%2Fsilchttp%2Ftests%2Ftest_silchttpserver.c;h=e4fc526ae568f3ff592df33804339b65faf540e0;hp=0000000000000000000000000000000000000000;hb=c33005f2f5ead342fd0417931e38013aacfb98b8;hpb=291aa51d0524634dee7b7c92f7bf73df06c6ebdc diff --git a/lib/silchttp/tests/test_silchttpserver.c b/lib/silchttp/tests/test_silchttpserver.c new file mode 100644 index 00000000..e4fc526a --- /dev/null +++ b/lib/silchttp/tests/test_silchttpserver.c @@ -0,0 +1,98 @@ +/* SilcHttpServer tests */ + +#include "silc.h" +#include "../silchttpserver.h" + +static void http_callback(SilcHttpServer httpd, SilcHttpConnection conn, + const char *uri, const char *method, + SilcBuffer data, void *context) +{ + SilcBufferStruct page; + + SILC_LOG_DEBUG(("HTTP data received, URI:%s, method:%s", uri, method)); + + if (!strcasecmp(method, "GET")) { + /* Send our default page */ + if (!strcmp(uri, "/") || !strcmp(uri, "/index.html")) { + memset(&page, 0, sizeof(page)); + silc_buffer_strformat(&page, + "
", + silc_http_server_get_header(httpd, conn, + "User-Agent"), + "OUR DEFAULT PAGE IS THIS: ", + silc_time_string(silc_time()), + "
" + "", + SILC_STRFMT_END); + silc_http_server_add_header(httpd, conn, "X-Date", + silc_time_string(silc_time())); + silc_http_server_send(httpd, conn, &page); + silc_buffer_purge(&page); + return; + } + } + + if (!strcasecmp(method, "POST")) { + if (strcmp(uri, "/posttest")) + return; + memset(&page, 0, sizeof(page)); + silc_buffer_strformat(&page, + "", + "POST PROCESSED:", + silc_buffer_data(data), + "", + SILC_STRFMT_END); + silc_http_server_add_header(httpd, conn, "X-Date", + silc_time_string(silc_time())); + silc_http_server_send(httpd, conn, &page); + silc_buffer_purge(&page); + return; + } + + silc_http_server_send_error(httpd, conn, "404 Not Found", + "