diff options
author | swhite <swhite@61ea717e-8e0c-4c3c-b38e-e9c67f54f1f1> | 2004-04-13 13:42:54 +0000 |
---|---|---|
committer | swhite <swhite@61ea717e-8e0c-4c3c-b38e-e9c67f54f1f1> | 2004-04-13 13:42:54 +0000 |
commit | 2cb1df63dcc158674fd15cae88e0939e683aec6f (patch) | |
tree | 8e6c50a517a46f68bbb94bd1b902da903652ff5d | |
parent | 9ba4246e7f46f1743c8d6f95d10a4ff399291cf9 (diff) |
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
-rw-r--r-- | interface.ccl | 4 | ||||
-rw-r--r-- | src/Groups.c | 46 | ||||
-rw-r--r-- | src/IO.c | 164 | ||||
-rw-r--r-- | 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, "<html><head><title>CACTUS Messages</title>\n" ); + HTTP_Send (request, "<html><head><title>CACTUS Messages</title>\n" ); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "<style type=\"text/css\">\n"); - Send_HTTP(request, " td.nomsg { background-color: #E9F4D3; }\n"); - Send_HTTP(request, "</style>\n"); - Send_HTTP(request, "</head>\n<body>\n"); + HTTP_Send(request, "<style type=\"text/css\">\n"); + HTTP_Send(request, " td.nomsg { background-color: #E9F4D3; }\n"); + HTTP_Send(request, "</style>\n"); + HTTP_Send(request, "</head>\n<body>\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, "<h1>Message Board</h1>\n" "<p>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, "</td></tr></table>\n" ); - Send_HTTP (request, "</td></tr></table>\n</form>\n</div>\n" ); + HTTP_Send (request, "</td></tr></table>\n" ); + HTTP_Send (request, "</td></tr></table>\n</form>\n</div>\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; @@ -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, "<html><head>\n" ); - Send_HTTP(request, "<title>Cactus Downloadable Files</title>\n"); + HTTP_Send(request, "<html><head>\n" ); + HTTP_Send(request, "<title>Cactus Downloadable Files</title>\n"); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "</head>\n<body>\n"); + HTTP_Send(request, "</head>\n<body>\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, "<h1>Downloadable Files</h1>"); + HTTP_Send(request, "<h1>Downloadable Files</h1>"); - Send_HTTP(request, + HTTP_Send(request, "<p>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, "</td></tr>\n" ); - Send_HTTP_String(request, message); + HTTP_SendString(request, message); } - Send_HTTP(request,"</tbody></table>\n</div>"); + HTTP_Send(request,"</tbody></table>\n</div>"); /* 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, "<html>\n<head>\n"); - Send_HTTP(request, "<title>Error 500: Internal Error</title>\n"); - Send_HTTP(request, "</head>\n<body>\n"); - Send_HTTP(request, "<div class=\"centered\"><p>Unable to open " ); - Send_HTTP(request, list->filename ); - Send_HTTP(request, "</p></div>\n"); - Send_HTTP(request, "</body>\n</html>\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, "<html>\n<head>\n"); + HTTP_Send(request, "<title>Error 500: Internal Error</title>\n"); + HTTP_Send(request, "</head>\n<body>\n"); + HTTP_Send(request, "<div class=\"centered\"><p>Unable to open " ); + HTTP_Send(request, list->filename ); + HTTP_Send(request, "</p></div>\n"); + HTTP_Send(request, "</body>\n</html>\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, "<html>\n<head>\n" ); - Send_HTTP(request, "<title>Error 404: Not Found</title>\n" ); - Send_HTTP(request, "</head>\n<body>\n" ); - Send_HTTP(request, "<div class=\"centered\"><p>" ); - Send_HTTP(request, request->uri ); - Send_HTTP(request, " does not exist</p></div>\n" ); - Send_HTTP(request, "</body>\n</html>\n" ); + HTTP_Send(request, "<html>\n<head>\n" ); + HTTP_Send(request, "<title>Error 404: Not Found</title>\n" ); + HTTP_Send(request, "</head>\n<body>\n" ); + HTTP_Send(request, "<div class=\"centered\"><p>" ); + HTTP_Send(request, HTTP_URI( request ) ); + HTTP_Send(request, " does not exist</p></div>\n" ); + HTTP_Send(request, "</body>\n</html>\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, "<html>\n<head>\n"); - Send_HTTP(request, "<title>Cactus Downloadable Files</title>\n"); + HTTP_Send(request, "<html>\n<head>\n"); + HTTP_Send(request, "<title>Cactus Downloadable Files</title>\n"); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "</head>\n<body>\n"); + HTTP_Send(request, "</head>\n<body>\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, "<h1>Viewport</h1>\n"); + HTTP_Send(request, "<h1>Viewport</h1>\n"); - Send_HTTP(request, + HTTP_Send(request, "<p>This page displays certain types of the output files \n" "from the <a href=\"/Output/index.html\">download</a> page \n" "as images (currently only JPEGs [mime type image/jpeg]).</p>\n" @@ -399,49 +403,49 @@ static int ViewportFilePage(const cGH *GH, httpRequest *request, void *data) { if (!foundone) { - Send_HTTP(request, + HTTP_Send(request, "<table cellspacing=\"5\" cellpadding=\"5\">\n" "<tr><th>Variable<br>File Name</th>\n" "<th>Description</th><th>Image</th></tr>\n"); foundone = 1; } - Send_HTTP(request, "<tr>\n" ); - Send_HTTP(request, "<td valign=center><small>" ); - Send_HTTP(request, list->data.varname ); - Send_HTTP(request, "<br />\n" ); - Send_HTTP(request, "<a href=\"/Output/" ); - Send_HTTP(request, list->linkname ); - Send_HTTP(request, "\">" ); - Send_HTTP(request, list->filename ); - Send_HTTP(request, "</a>\n" ); - Send_HTTP(request, "</small></td>\n" ); - Send_HTTP(request, "<td valign=center>" ); - Send_HTTP(request, list->data.description ); - Send_HTTP(request, "</td>\n" ); - Send_HTTP(request, "<td valign=center><a href=\"/Output/" ); - Send_HTTP(request, list->linkname ); - Send_HTTP(request, "\">" ); - Send_HTTP(request, "<img border=\"0\" width=\"100\" height=\"100\" src=\"" ); - Send_HTTP(request, list->linkname ); - Send_HTTP(request, "\" />" ); - Send_HTTP(request, "</a></td>\n" ); - Send_HTTP(request, "</tr>\n" ); + HTTP_Send(request, "<tr>\n" ); + HTTP_Send(request, "<td valign=center><small>" ); + HTTP_Send(request, list->data.varname ); + HTTP_Send(request, "<br />\n" ); + HTTP_Send(request, "<a href=\"/Output/" ); + HTTP_Send(request, list->linkname ); + HTTP_Send(request, "\">" ); + HTTP_Send(request, list->filename ); + HTTP_Send(request, "</a>\n" ); + HTTP_Send(request, "</small></td>\n" ); + HTTP_Send(request, "<td valign=center>" ); + HTTP_Send(request, list->data.description ); + HTTP_Send(request, "</td>\n" ); + HTTP_Send(request, "<td valign=center><a href=\"/Output/" ); + HTTP_Send(request, list->linkname ); + HTTP_Send(request, "\">" ); + HTTP_Send(request, "<img border=\"0\" width=\"100\" height=\"100\" src=\"" ); + HTTP_Send(request, list->linkname ); + HTTP_Send(request, "\" />" ); + HTTP_Send(request, "</a></td>\n" ); + HTTP_Send(request, "</tr>\n" ); } } if (!foundone) { - Send_HTTP(request, "<strong>\n<p>No viewable images registered!</p>\n" + HTTP_Send(request, "<strong>\n<p>No viewable images registered!</p>\n" "</strong>\n"); } - Send_HTTP(request, "</div>\n"); + HTTP_Send(request, "</div>\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, "<html>\n<head>\n"); - Send_HTTP(request, "<title>Cactus Simulation Processor Information</title>\n"); + HTTP_Send(request, "<html>\n<head>\n"); + HTTP_Send(request, "<title>Cactus Simulation Processor Information</title>\n"); - SetHTML_HeadHeader( message); - Send_HTTP_String(request, message ); + HTTP_SetHeadInfo( message); + HTTP_SendString(request, message ); - Send_HTTP(request, "<style type=\"text/css\">\n"); - Send_HTTP(request, " th, td { padding-left: 1em; padding-right: 1em; }\n"); - Send_HTTP(request, " td.name { text-align: left; }\n"); - Send_HTTP(request, " td.number { text-align: center; }\n"); - Send_HTTP(request, "</style>\n"); - Send_HTTP(request, "</head>\n<body>\n"); + HTTP_Send(request, "<style type=\"text/css\">\n"); + HTTP_Send(request, " th, td { padding-left: 1em; padding-right: 1em; }\n"); + HTTP_Send(request, " td.name { text-align: left; }\n"); + HTTP_Send(request, " td.number { text-align: center; }\n"); + HTTP_Send(request, "</style>\n"); + HTTP_Send(request, "</head>\n<body>\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, "<h1>Processor Information</h1>\n"); + HTTP_Send(request, "<h1>Processor Information</h1>\n"); - Send_HTTP(request, + HTTP_Send(request, "<div class=\"centered\">\n<table rules=\"cols\">\n" "<tr>" "<th>Number</th>\n" @@ -132,13 +136,13 @@ static int ProcessorsPage(const cGH *cctkGH, httpRequest *request, void *data) ConcatCString( message, "</td><td class=\"name\">" ); ConcatCString( message, HTTPDExtra_RemoteHostName(np) ); ConcatCString( message, "</td></tr>\n"); - Send_HTTP_String(request, message ); + HTTP_SendString(request, message ); } - retval = Send_HTTP(request, "</table>\n</div>\n"); + retval = HTTP_Send(request, "</table>\n</div>\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; |