aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorswhite <swhite@61ea717e-8e0c-4c3c-b38e-e9c67f54f1f1>2004-04-13 13:42:54 +0000
committerswhite <swhite@61ea717e-8e0c-4c3c-b38e-e9c67f54f1f1>2004-04-13 13:42:54 +0000
commit2cb1df63dcc158674fd15cae88e0939e683aec6f (patch)
tree8e6c50a517a46f68bbb94bd1b902da903652ff5d
parent9ba4246e7f46f1743c8d6f95d10a4ff399291cf9 (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.ccl4
-rw-r--r--src/Groups.c46
-rw-r--r--src/IO.c164
-rw-r--r--src/Processors.c48
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;
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, "<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;