From 2cb1df63dcc158674fd15cae88e0939e683aec6f Mon Sep 17 00:00:00 2001 From: swhite Date: Tue, 13 Apr 2004 13:42:54 +0000 Subject: Made HTTPD to correctly describe interface by INCLUDE HEADER mechanism. Changed internal names of http_Auth.h http_Cookies.h http_Steer.h http_Content.h so that HTTPD thorn developers will be required to use this interface, rather than incorrectly explicitly including the source header files. * Protected SString against C++ name mangling * Gave exported functions the HTTP_ prefix * Wrote doc/Content.h * Fixed bug that disabled some steering functionality git-svn-id: http://svn.cactuscode.org/arrangements/CactusConnect/HTTPDExtra/trunk@53 61ea717e-8e0c-4c3c-b38e-e9c67f54f1f1 --- interface.ccl | 4 +- src/Groups.c | 46 ++++++++-------- src/IO.c | 164 ++++++++++++++++++++++++++++--------------------------- src/Processors.c | 48 ++++++++-------- 4 files changed, 136 insertions(+), 126 deletions(-) diff --git a/interface.ccl b/interface.ccl index 78e878d..d5e46ea 100644 --- a/interface.ccl +++ b/interface.ccl @@ -3,4 +3,6 @@ implements: http_utils -USES INCLUDE HEADER: HTTPDUtils.h +USES INCLUDE HEADER: http_Auth.h +USES INCLUDE HEADER: http_Content.h + diff --git a/src/Groups.c b/src/Groups.c index 05cee4a..eb5af1d 100644 --- a/src/Groups.c +++ b/src/Groups.c @@ -13,7 +13,7 @@ #include "cctk.h" #include "util_String.h" -#include "HTTPDUtils.h" +#include "http_Content.h" static const char *rcsid = "$Header$"; @@ -83,7 +83,7 @@ static int MessagesPage (const cGH *GH, httpRequest *request, void *data) /* avoid compiler warning about unused parameter */ data = data; - if (request->n_arguments > 0) + if (HTTP_Num_Arguments( request ) > 0) { name = HTTP_ArgumentValue (request, "name"); memo = HTTP_ArgumentValue (request, "memo"); @@ -119,8 +119,8 @@ static int MessagesPage (const cGH *GH, httpRequest *request, void *data) } /* Now redirect the browser to the normal message board page */ - if (request->http_major_version < 1 || - (request->http_major_version == 1 && request->http_minor_version < 1)) + if (HTTP_Major_Version( request ) < 1 || + (HTTP_Major_Version( request ) == 1 && HTTP_Minor_Version( request ) < 1)) { /* Older browsers don't understand 303 */ temp = "HTTP/1.0 302 Found\r\n" @@ -132,33 +132,33 @@ static int MessagesPage (const cGH *GH, httpRequest *request, void *data) "Location: /Messages/index.html\r\n\r\n"; } - Send_HTTP (request, temp); + HTTP_Send (request, temp); return (0); } /* Status message */ - SendHTTP_OK_Header( request ); + HTTP_Send_OK_Header( request ); - SetHTML_Doctype( message ); - Send_HTTP_String(request, message); + HTTP_SetDoctype( message ); + HTTP_SendString(request, message); /* Start the page */ - Send_HTTP (request, "CACTUS Messages\n" ); + HTTP_Send (request, "CACTUS Messages\n" ); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "\n"); - Send_HTTP(request, "\n\n"); + HTTP_Send(request, "\n"); + HTTP_Send(request, "\n\n"); /* Write out the header part */ - SetHTML_ContentHeader(GH, 0, message, NULL); - Send_HTTP_String(request, message); + HTTP_SetContentHeaderString(GH, 0, message, NULL); + HTTP_SendString(request, message); - Send_HTTP (request, + HTTP_Send (request, "

Message Board

\n" "

This page can be used to post messages during a \n" "simulation. At the moment the messages will disappear \n" @@ -181,14 +181,14 @@ static int MessagesPage (const cGH *GH, httpRequest *request, void *data) temp = message_board ? message_board : "No messages yet ... use the form above to add one"; - Send_HTTP (request, temp ); + HTTP_Send (request, temp ); - Send_HTTP (request, "\n" ); - Send_HTTP (request, "\n\n\n" ); + HTTP_Send (request, "\n" ); + HTTP_Send (request, "\n\n\n" ); /* Write out the footer part. */ - SetHTML_ContentFooter(GH, 0, message); - retval = Send_HTTP_String(request, message); + HTTP_SetContentFooterString(GH, 0, message); + retval = HTTP_SendString(request, message); String_Delete( message ); return retval; diff --git a/src/IO.c b/src/IO.c index c632675..2ff0df1 100644 --- a/src/IO.c +++ b/src/IO.c @@ -24,7 +24,11 @@ #include "CactusBase/IOUtil/src/ioutil_AdvertisedFiles.h" -#include "HTTPDUtils.h" +#include "http_Content.h" + +/* SW Temporary, while testing the SString module*/ +#include "CactusConnect/HTTPD/src/SString.h" +#include "CactusConnect/HTTPD/src/SString_Namespace.h" static const char *rcsid = "$Header$"; @@ -205,32 +209,32 @@ static int IOFileListener(const cGH *GH, const char *filename, @@*/ static int AdvertisedFilePage(const cGH *GH, httpRequest *request, void *data) { - int retval; + int retval = 0; String *message = String_New(); struct httpuFileList *list; data = data; /* avoid compiler warning about unused parameter */ - SendHTTP_OK_Header( request ); + HTTP_Send_OK_Header( request ); - SetHTML_Doctype( message ); - Send_HTTP_String(request, message); + HTTP_SetDoctype( message ); + HTTP_SendString(request, message); /* Start the page */ - Send_HTTP(request, "\n" ); - Send_HTTP(request, "Cactus Downloadable Files\n"); + HTTP_Send(request, "\n" ); + HTTP_Send(request, "Cactus Downloadable Files\n"); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "\n\n"); + HTTP_Send(request, "\n\n"); /* HTTP_Write out the header part. */ - SetHTML_ContentHeader(GH, 0, message, NULL); - Send_HTTP_String(request, message); + HTTP_SetContentHeaderString(GH, 0, message, NULL); + HTTP_SendString(request, message); - Send_HTTP(request, "

Downloadable Files

"); + HTTP_Send(request, "

Downloadable Files

"); - Send_HTTP(request, + HTTP_Send(request, "

From this page you can download various output files \n" "from the simulation. Depending on the software available on your\n" " local machine, you can change the browser properties to launch\n" @@ -261,14 +265,14 @@ static int AdvertisedFilePage(const cGH *GH, httpRequest *request, void *data) ConcatCString(message, list->data.description ); ConcatCString(message, "\n" ); - Send_HTTP_String(request, message); + HTTP_SendString(request, message); } - Send_HTTP(request,"\n"); + HTTP_Send(request,"\n"); /* Write out the footer part. */ - SetHTML_ContentFooter(GH, 0, message); - Send_HTTP_String(request, message); + HTTP_SetContentFooterString(GH, 0, message); + retval = HTTP_SendString(request, message); String_Delete( message ); return retval; @@ -293,16 +297,16 @@ static int SendFilePage(const cGH *GH, httpRequest *request, void *data) for (list = filelist; list; list = list->next) { - if(!strcmp(list->linkname, request->residual)) + if(!strcmp(list->linkname, HTTP_Residual( request ) )) { int filedes; if((filedes = open(list->filename, O_RDONLY | O_BINARY)) >= 0) { - Send_HTTP(request, "HTTP/1.0 200 OK\r\n"); + HTTP_Send(request, "HTTP/1.0 200 OK\r\n"); - Send_HTTP(request, "Content-Type: " ); - Send_HTTP(request, list->data.mimetype); - Send_HTTP(request, "\r\n\r\n" ); + HTTP_Send(request, "Content-Type: " ); + HTTP_Send(request, list->data.mimetype); + HTTP_Send(request, "\r\n\r\n" ); HTTP_ContentSendFromFile(request, filedes); @@ -310,16 +314,16 @@ static int SendFilePage(const cGH *GH, httpRequest *request, void *data) } else { - Send_HTTP(request,"HTTP/1.0 500 Server Internal Error\r\n"); - - Send_HTTP(request, "Content-Type: text/html\r\n\r\n"); - Send_HTTP(request, "\n\n"); - Send_HTTP(request, "Error 500: Internal Error\n"); - Send_HTTP(request, "\n\n"); - Send_HTTP(request, "

Unable to open " ); - Send_HTTP(request, list->filename ); - Send_HTTP(request, "

\n"); - Send_HTTP(request, "\n\n" ); + HTTP_Send(request,"HTTP/1.0 500 Server Internal Error\r\n"); + + HTTP_Send(request, "Content-Type: text/html\r\n\r\n"); + HTTP_Send(request, "\n\n"); + HTTP_Send(request, "Error 500: Internal Error\n"); + HTTP_Send(request, "\n\n"); + HTTP_Send(request, "

Unable to open " ); + HTTP_Send(request, list->filename ); + HTTP_Send(request, "

\n"); + HTTP_Send(request, "\n\n" ); } break; } @@ -327,17 +331,17 @@ static int SendFilePage(const cGH *GH, httpRequest *request, void *data) if(!list) { - Send_HTTP(request,"HTTP/1.0 404 Not Found\r\n"); + HTTP_Send(request,"HTTP/1.0 404 Not Found\r\n"); - Send_HTTP(request,"Content-Type: text/html\r\n\r\n"); + HTTP_Send(request,"Content-Type: text/html\r\n\r\n"); - Send_HTTP(request, "\n\n" ); - Send_HTTP(request, "Error 404: Not Found\n" ); - Send_HTTP(request, "\n\n" ); - Send_HTTP(request, "

" ); - Send_HTTP(request, request->uri ); - Send_HTTP(request, " does not exist

\n" ); - Send_HTTP(request, "\n\n" ); + HTTP_Send(request, "\n\n" ); + HTTP_Send(request, "Error 404: Not Found\n" ); + HTTP_Send(request, "\n\n" ); + HTTP_Send(request, "

" ); + HTTP_Send(request, HTTP_URI( request ) ); + HTTP_Send(request, " does not exist

\n" ); + HTTP_Send(request, "\n\n" ); } return 0; } @@ -362,28 +366,28 @@ static int ViewportFilePage(const cGH *GH, httpRequest *request, void *data) (void) (GH + 0); data = data; - SendHTTP_OK_Header( request ); + HTTP_Send_OK_Header( request ); - SetHTML_Doctype( message ); - Send_HTTP_String(request, message); + HTTP_SetDoctype( message ); + HTTP_SendString(request, message); /* Start the page */ - Send_HTTP(request, "\n\n"); - Send_HTTP(request, "Cactus Downloadable Files\n"); + HTTP_Send(request, "\n\n"); + HTTP_Send(request, "Cactus Downloadable Files\n"); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "\n\n"); + HTTP_Send(request, "\n\n"); /* HTTP_Write out the header part. */ - SetHTML_ContentHeader(GH, 0, message, NULL); - Send_HTTP_String(request, message); + HTTP_SetContentHeaderString(GH, 0, message, NULL); + HTTP_SendString(request, message); - Send_HTTP(request, "

Viewport

\n"); + HTTP_Send(request, "

Viewport

\n"); - Send_HTTP(request, + HTTP_Send(request, "

This page displays certain types of the output files \n" "from the download page \n" "as images (currently only JPEGs [mime type image/jpeg]).

\n" @@ -399,49 +403,49 @@ static int ViewportFilePage(const cGH *GH, httpRequest *request, void *data) { if (!foundone) { - Send_HTTP(request, + HTTP_Send(request, "\n" "\n" "\n"); foundone = 1; } - Send_HTTP(request, "\n" ); - Send_HTTP(request, "\n" ); - Send_HTTP(request, "\n" ); - Send_HTTP(request, "\n" ); - Send_HTTP(request, "\n" ); + HTTP_Send(request, "\n" ); + HTTP_Send(request, "\n" ); + HTTP_Send(request, "\n" ); + HTTP_Send(request, "\n" ); + HTTP_Send(request, "\n" ); } } if (!foundone) { - Send_HTTP(request, "\n

No viewable images registered!

\n" + HTTP_Send(request, "\n

No viewable images registered!

\n" "
\n"); } - Send_HTTP(request, "\n"); + HTTP_Send(request, "\n"); /* Write out the footer part. */ - SetHTML_ContentFooter(GH, 0, message); - retval = Send_HTTP_String(request, message); + HTTP_SetContentFooterString(GH, 0, message); + retval = HTTP_SendString(request, message); String_Delete( message ); return retval; diff --git a/src/Processors.c b/src/Processors.c index 3b6296a..1de399d 100644 --- a/src/Processors.c +++ b/src/Processors.c @@ -13,7 +13,11 @@ #include "util_String.h" #include "httpextra_HostNames.h" -#include "HTTPDUtils.h" +#include "http_Content.h" + +/* SW Temporary, while testing the SString module*/ +#include "CactusConnect/HTTPD/src/SString.h" +#include "CactusConnect/HTTPD/src/SString_Namespace.h" static const char *rcsid = "$Header$"; @@ -92,32 +96,32 @@ static int ProcessorsPage(const cGH *cctkGH, httpRequest *request, void *data) int nprocs = 0,np = 0; String *message = String_New(); - SendHTTP_OK_Header( request ); + HTTP_Send_OK_Header( request ); - SetHTML_Doctype( message ); - Send_HTTP_String(request, message); + HTTP_SetDoctype( message ); + HTTP_SendString(request, message); /* Start the page */ - Send_HTTP(request, "\n\n"); - Send_HTTP(request, "Cactus Simulation Processor Information\n"); + HTTP_Send(request, "\n\n"); + HTTP_Send(request, "Cactus Simulation Processor Information\n"); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "\n"); - Send_HTTP(request, "\n\n"); + HTTP_Send(request, "\n"); + HTTP_Send(request, "\n\n"); /* HTTP_Write out the header part. */ - SetHTML_ContentHeader(cctkGH, 0, message, NULL); - retval = Send_HTTP_String(request, message); + HTTP_SetContentHeaderString(cctkGH, 0, message, NULL); + retval = HTTP_SendString(request, message); - Send_HTTP(request, "

Processor Information

\n"); + HTTP_Send(request, "

Processor Information

\n"); - Send_HTTP(request, + HTTP_Send(request, "
\n
Variable
File Name
DescriptionImage
" ); - Send_HTTP(request, list->data.varname ); - Send_HTTP(request, "
\n" ); - Send_HTTP(request, "linkname ); - Send_HTTP(request, "\">" ); - Send_HTTP(request, list->filename ); - Send_HTTP(request, "\n" ); - Send_HTTP(request, "
" ); - Send_HTTP(request, list->data.description ); - Send_HTTP(request, "linkname ); - Send_HTTP(request, "\">" ); - Send_HTTP(request, "linkname ); - Send_HTTP(request, "\" />" ); - Send_HTTP(request, "
" ); + HTTP_Send(request, list->data.varname ); + HTTP_Send(request, "
\n" ); + HTTP_Send(request, "linkname ); + HTTP_Send(request, "\">" ); + HTTP_Send(request, list->filename ); + HTTP_Send(request, "\n" ); + HTTP_Send(request, "
" ); + HTTP_Send(request, list->data.description ); + HTTP_Send(request, "linkname ); + HTTP_Send(request, "\">" ); + HTTP_Send(request, "linkname ); + HTTP_Send(request, "\" />" ); + HTTP_Send(request, "
\n" "" "\n" @@ -132,13 +136,13 @@ static int ProcessorsPage(const cGH *cctkGH, httpRequest *request, void *data) ConcatCString( message, "\n"); - Send_HTTP_String(request, message ); + HTTP_SendString(request, message ); } - retval = Send_HTTP(request, "
Number" ); ConcatCString( message, HTTPDExtra_RemoteHostName(np) ); ConcatCString( message, "
\n\n"); + retval = HTTP_Send(request, "\n\n"); - SetHTML_ContentFooter(cctkGH, 0, message); - retval = Send_HTTP_String(request, message); + HTTP_SetContentFooterString(cctkGH, 0, message); + retval = HTTP_SendString(request, message); String_Delete( message ); return retval; -- cgit v1.2.3