diff options
Diffstat (limited to 'libcsoap/soap-admin.c')
-rw-r--r-- | libcsoap/soap-admin.c | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/libcsoap/soap-admin.c b/libcsoap/soap-admin.c index 65e07c9..7b2c9e8 100644 --- a/libcsoap/soap-admin.c +++ b/libcsoap/soap-admin.c @@ -1,5 +1,5 @@ /****************************************************************** -* $Id: soap-admin.c,v 1.4 2006/05/15 06:45:07 m0gg Exp $ +* $Id: soap-admin.c,v 1.5 2006/11/19 09:40:14 m0gg Exp $ * * CSOAP Project: A SOAP client/server library in C * Copyright (C) 2003 Ferhat Ayaz @@ -25,16 +25,29 @@ #include <config.h> #endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + +#ifdef HAVE_STDIO_H +#include <stdio.h> +#endif + +#ifdef HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif + +#include <nanohttp/nanohttp-common.h> +#include <nanohttp/nanohttp-socket.h> +#include <nanohttp/nanohttp-stream.h> +#include <nanohttp/nanohttp-request.h> #include <nanohttp/nanohttp-server.h> +#include <nanohttp/nanohttp-admin.h> #include "soap-router.h" #include "soap-server.h" #include "soap-admin.h" -#define SOAP_ADMIN_QUERY_ROUTERS "routers" -#define SOAP_ADMIN_QUERY_ROUTER "router" -#define SOAP_ADMIN_QUERY_SERVICES "services" - static void _soap_admin_send_title(httpd_conn_t *conn, const char *title) { @@ -52,6 +65,8 @@ _soap_admin_send_title(httpd_conn_t *conn, const char *title) "</style></head><body><span class=\"logo\">csoap</span> "); http_output_stream_write_string(conn->out, title); http_output_stream_write_string(conn->out, "<hr />"); + + return; } @@ -66,13 +81,15 @@ _soap_admin_list_routers(httpd_conn_t *conn) http_output_stream_write_string(conn->out, "<ul>"); for (node = soap_server_get_routers(); node; node = node->next) { - sprintf(buffer, "<li><a href=\"?" SOAP_ADMIN_QUERY_ROUTER "=%s\">%s</a> - <a href=\"%s\">[Service Description]</a></li>", - node->context, node->context, node->context); + sprintf(buffer, "<li><a href=\"?" SOAP_ADMIN_QUERY_ROUTER "=%s\">%s</a> - <a href=\"%s\">[Service Description]</a> - <a href=\"../nhttp?" NHTTPD_ADMIN_QUERY_STATISTICS "=%s\">[Statistics]</a></li>", + node->context, node->context, node->context, node->context); http_output_stream_write_string(conn->out, buffer); } http_output_stream_write_string(conn->out, "</ul>"); http_output_stream_write_string(conn->out, "</body></html>"); + + return; } @@ -108,6 +125,8 @@ _soap_admin_list_services(httpd_conn_t *conn, const char *routername) http_output_stream_write_string(conn->out, "</ul>"); http_output_stream_write_string(conn->out, "</body></html>"); + + return; } @@ -128,13 +147,16 @@ _soap_admin_handle_get(httpd_conn_t * conn, hrequest_t * req) { _soap_admin_send_title(conn, "Welcome to the admin site"); - http_output_stream_write_string(conn->out, "<ul>"); http_output_stream_write_string(conn->out, - "<li><a href=\"?" SOAP_ADMIN_QUERY_ROUTERS "\">Routers</a></li>"); - http_output_stream_write_string(conn->out, "</ul>"); + "<ul>" + "<li><a href=\"?" SOAP_ADMIN_QUERY_ROUTERS "\">Routers</a></li>" + "<li><a href=\"../nhttp\">nanoHTTP</a></li>" + "</ul>"); http_output_stream_write_string(conn->out, "</body></html>"); } + + return; } @@ -151,21 +173,21 @@ _soap_admin_entry(httpd_conn_t * conn, hrequest_t * req) http_output_stream_write_string(conn->out, "<html>" "<head>" - "</head>" - "<body>" + "</head>" + "<body>" "<h1>Sorry!</h1>" "<hr />" "<div>POST Service is not implemented now. Use your browser</div>" "</body>" "</html>"); } + return; } herror_t soap_admin_init_args(int argc, char **argv) { - int i; for (i=0; i<argc; i++) { |