ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/HostStatus/HostStatus.cpp
Revision: 32
Committed: 2003-11-14T23:44:08-08:00 (21 years, 7 months ago) by Douglas Thrift
File size: 1444 byte(s)
Log Message:
Everything's coming up roses.

File Contents

# Content
1 // Host Status
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #include "HostStatus.hpp"
8 #include "Host.hpp"
9
10 int main(int argc, char* argv[])
11 {
12 HostStatus status;
13
14 return 0;
15 }
16
17 HostStatus::HostStatus()
18 {
19 sputenv("TZ=:America/Los_Angeles");
20
21 string method = sgetenv("REQUEST_METHOD");
22
23 parse(method);
24
25 multimap<string, string>::iterator itor = cgi.find("format");
26
27 if (itor != cgi.end())
28 {
29 string format = itor->second;
30
31 if (format == "t")
32 {
33 this->format = table;
34 }
35 else
36 {
37 this->format = page;
38 }
39 }
40
41 display(method);
42 }
43
44 void HostStatus::parse(const string& method)
45 {
46 string query;
47
48 if (method == "POST")
49 {
50 getline(cin, query);
51 }
52 else
53 {
54 query = sgetenv("QUERY_STRING");
55 }
56
57 if (query == "") return;
58
59 istringstream input(query);
60
61 do
62 {
63 string name, value;
64
65 getline(input, name, '=');
66 getline(input, value, '&');
67
68 cgi.insert(pair<string, string>(name, value));
69 }
70 while (input.good());
71 }
72
73 void HostStatus::display(const string& method)
74 {
75 cout << "Content-Type: text/html\n\n";
76
77 if (method == "POST") sunsetenv("HTTP_USER_AGENT");
78
79 pstream hostupdate("./hostupdate.cgi");
80
81 if (method == "POST")
82 {
83 for (multimap<string, string>::iterator itor = cgi.begin(); itor !=
84 cgi.end(); itor++)
85 {
86 hostupdate << itor->first << '=' << itor->second << '&';
87 }
88
89 hostupdate << '\n' << flush;
90 }
91
92 /* do
93 {
94 string line;
95
96 getline(hostupdate, line);
97
98 cout << line << '\n';
99 }
100 while (hostupdate.good());*/
101 }

Properties

Name Value
svn:eol-style native
svn:keywords Id