diff options
Diffstat (limited to 'src/IO.c')
-rw-r--r-- | src/IO.c | 164 |
1 files changed, 84 insertions, 80 deletions
@@ -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; |