diff options
author | Mike Buland <eichlan@xagasoft.com> | 2011-03-30 22:33:41 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2011-03-30 22:33:41 +0000 |
commit | 4b9289cfb260f4bcecaf23a810584ef6ef8e8501 (patch) | |
tree | 79136af08c7e42ba3322f0d73e9779e4354b318a /src/tests/fastcgi.cpp | |
parent | c7636dc954eddfe58f7959392602fbc9072d77e7 (diff) | |
download | libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.tar.gz libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.tar.bz2 libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.tar.xz libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.zip |
Ok, string stuff is working much, much better, a load of new unit tests have
been added, and I deleted a whole slew of stupid old tests that I don't need.
Diffstat (limited to 'src/tests/fastcgi.cpp')
-rw-r--r-- | src/tests/fastcgi.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/tests/fastcgi.cpp b/src/tests/fastcgi.cpp deleted file mode 100644 index 7447a6f..0000000 --- a/src/tests/fastcgi.cpp +++ /dev/null | |||
@@ -1,90 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2007-2011 Xagasoft, All rights reserved. | ||
3 | * | ||
4 | * This file is part of the libbu++ library and is released under the | ||
5 | * terms of the license contained in the file LICENSE. | ||
6 | */ | ||
7 | |||
8 | #include "bu/fastcgi.h" | ||
9 | |||
10 | #include <unistd.h> | ||
11 | |||
12 | class Cgi : public Bu::FastCgi | ||
13 | { | ||
14 | public: | ||
15 | Cgi() : | ||
16 | Bu::FastCgi::FastCgi() | ||
17 | { | ||
18 | } | ||
19 | |||
20 | Cgi( int iPort ) : | ||
21 | Bu::FastCgi::FastCgi( iPort ) | ||
22 | { | ||
23 | } | ||
24 | |||
25 | virtual ~Cgi() | ||
26 | { | ||
27 | } | ||
28 | |||
29 | virtual int onRequest( const StrHash &hParams, | ||
30 | const Bu::String &sStdIn, Bu::Stream &sStdOut, | ||
31 | Bu::Stream &/*sStdErr*/ ) | ||
32 | { | ||
33 | Bu::String sOut("Content-Type: text/html\r\n\r\n"); | ||
34 | sOut += "<html><body><h1>Environment:</h1><ul>"; | ||
35 | for( StrHash::const_iterator i = hParams.begin(); i; i++ ) | ||
36 | { | ||
37 | sOut += "<li>" + i.getKey() + " = " + | ||
38 | i.getValue() + "</li>"; | ||
39 | } | ||
40 | sOut += "</ul>"; | ||
41 | char buf[2048]; | ||
42 | sOut += "<h1>Cwd:</h1><ul><li>"; | ||
43 | sOut += getcwd( buf, 2048 ); | ||
44 | sOut += "</li></ul>"; | ||
45 | sOut += "<h1>Stdin:</h1>"; | ||
46 | sOut += Bu::String("%1 bytes<pre>").arg( sStdIn.getSize() ); | ||
47 | Bu::String sL, sR; | ||
48 | for( Bu::String::const_iterator i = sStdIn.begin(); | ||
49 | i; i++ ) | ||
50 | { | ||
51 | sL += Bu::String("%1").arg( | ||
52 | (unsigned int)((unsigned char)*i), Bu::Fmt::hex().width(2).fill('0') ); | ||
53 | if( *i < 27 ) | ||
54 | sR += ". "; | ||
55 | else | ||
56 | sR += Bu::String("&#%1; ").arg( | ||
57 | (unsigned int)((unsigned char)*i) ); | ||
58 | if( sL.getSize()/3 == 8 ) | ||
59 | { | ||
60 | sOut += sL + " | " + sR + "\n"; | ||
61 | sL = sR = ""; | ||
62 | } | ||
63 | } | ||
64 | if( sL != "" ) | ||
65 | { | ||
66 | while( sL.getSize()/3 < 8 ) | ||
67 | sL += " "; | ||
68 | sOut += sL + " | " + sR + "\n"; | ||
69 | } | ||
70 | sOut += "</pre><hr/><pre>"; | ||
71 | sOut += sStdIn; | ||
72 | sOut += "</pre>"; | ||
73 | sOut += "<form method=\"post\" enctype=\"multipart/form-data\"><textarea name=\"bob\"></textarea><br /><input type=\"file\" name=\"somefile\" /><br /><input type=\"submit\" name=\"yeah\" value=\"try it\" /></form>"; | ||
74 | sOut += "</body></html>"; | ||
75 | |||
76 | sStdOut.write( sOut ); | ||
77 | |||
78 | return 0; | ||
79 | } | ||
80 | }; | ||
81 | |||
82 | int main() | ||
83 | { | ||
84 | Cgi c( 8789 ); | ||
85 | |||
86 | c.run(); | ||
87 | |||
88 | return 0; | ||
89 | } | ||
90 | |||