1
1
#include < iostream>
2
2
#include < map>
3
- #include < binders.h >
3
+ #include < fstream >
4
4
5
5
#include " HttpResponse.h"
6
6
#include " HttpServer.h"
7
7
#include " HttpRequest.h"
8
8
9
- extern char favicon[ 555 ] ;
9
+ std::string image ;
10
10
bool benchmark = false ;
11
11
12
+ std::string GetFile ();
12
13
void OnRequest (const CHttpRequest& req, CHttpResponse& resp) {
13
14
std::cout << " Headers " << req.GetMethodString () << " " << req.GetPath () << std::endl;
14
15
if (!benchmark) {
@@ -33,7 +34,10 @@ void OnRequest(const CHttpRequest& req, CHttpResponse& resp) {
33
34
resp.SetStatusCode (k200Ok);
34
35
resp.SetStatusMessage (" OK" );
35
36
resp.SetContentType (" image/png" );
36
- resp.SetBody (std::string (favicon, sizeof favicon));
37
+ if (image.empty ()) {
38
+ image = GetFile ();
39
+ }
40
+ resp.SetBody (image);
37
41
38
42
} else if (req.GetPath () == " /hello" ) {
39
43
resp.SetStatusCode (k200Ok);
@@ -49,6 +53,13 @@ void OnRequest(const CHttpRequest& req, CHttpResponse& resp) {
49
53
}
50
54
}
51
55
56
+ std::string GetFile () {
57
+ std::ifstream t (" logo.png" );
58
+ std::string str ((std::istreambuf_iterator<char >(t)),
59
+ std::istreambuf_iterator<char >());
60
+ return std::move (str);
61
+ }
62
+
52
63
void DisConnectionFunc (const cppnet::Handle & handle, uint32_t err) {
53
64
std::cout << " [DisConnectionFunc]" << std::endl;
54
65
}
@@ -69,76 +80,3 @@ int main() {
69
80
70
81
cppnet::Join ();
71
82
}
72
-
73
- char favicon[555 ] = {
74
- ' \x89 ' , ' P' , ' N' , ' G' , ' \xD ' , ' \xA ' , ' \x1A ' , ' \xA ' ,
75
- ' \x0 ' , ' \x0 ' , ' \x0 ' , ' \xD ' , ' I' , ' H' , ' D' , ' R' ,
76
- ' \x0 ' , ' \x0 ' , ' \x0 ' , ' \x10 ' , ' \x0 ' , ' \x0 ' , ' \x0 ' , ' \x10 ' ,
77
- ' \x8 ' , ' \x6 ' , ' \x0 ' , ' \x0 ' , ' \x0 ' , ' \x1F ' , ' \xF3 ' , ' \xFF ' ,
78
- ' a' , ' \x0 ' , ' \x0 ' , ' \x0 ' , ' \x19 ' , ' t' , ' E' , ' X' ,
79
- ' t' , ' S' , ' o' , ' f' , ' t' , ' w' , ' a' , ' r' ,
80
- ' e' , ' \x0 ' , ' A' , ' d' , ' o' , ' b' , ' e' , ' \x20 ' ,
81
- ' I' , ' m' , ' a' , ' g' , ' e' , ' R' , ' e' , ' a' ,
82
- ' d' , ' y' , ' q' , ' \xC9 ' , ' e' , ' \x3C ' , ' \x0 ' , ' \x0 ' ,
83
- ' \x1 ' , ' \xCD ' , ' I' , ' D' , ' A' , ' T' , ' x' , ' \xDA ' ,
84
- ' \x94 ' , ' \x93 ' , ' 9' , ' H' , ' \x3 ' , ' A' , ' \x14 ' , ' \x86 ' ,
85
- ' \xFF ' , ' \x5D ' , ' b' , ' \xA7 ' , ' \x4 ' , ' R' , ' \xC4 ' , ' m' ,
86
- ' \x22 ' , ' \x1E ' , ' \xA0 ' , ' F' , ' \x24 ' , ' \x8 ' , ' \x16 ' , ' \x16 ' ,
87
- ' v' , ' \xA ' , ' 6' , ' \xBA ' , ' J' , ' \x9A ' , ' \x80 ' , ' \x8 ' ,
88
- ' A' , ' \xB4 ' , ' q' , ' \x85 ' , ' X' , ' \x89 ' , ' G' , ' \xB0 ' ,
89
- ' I' , ' \xA9 ' , ' Q' , ' \x24 ' , ' \xCD ' , ' \xA6 ' , ' \x8 ' , ' \xA4 ' ,
90
- ' H' , ' c' , ' \x91 ' , ' B' , ' \xB ' , ' \xAF ' , ' V' , ' \xC1 ' ,
91
- ' F' , ' \xB4 ' , ' \x15 ' , ' \xCF ' , ' \x22 ' , ' X' , ' \x98 ' , ' \xB ' ,
92
- ' T' , ' H' , ' \x8A ' , ' d' , ' \x93 ' , ' \x8D ' , ' \xFB ' , ' F' ,
93
- ' g' , ' \xC9 ' , ' \x1A ' , ' \x14 ' , ' \x7D ' , ' \xF0 ' , ' f' , ' v' ,
94
- ' f' , ' \xDF ' , ' \x7C ' , ' \xEF ' , ' \xE7 ' , ' g' , ' F' , ' \xA8 ' ,
95
- ' \xD5 ' , ' j' , ' H' , ' \x24 ' , ' \x12 ' , ' \x2A ' , ' \x0 ' , ' \x5 ' ,
96
- ' \xBF ' , ' G' , ' \xD4 ' , ' \xEF ' , ' \xF7 ' , ' \x2F ' , ' 6' , ' \xEC ' ,
97
- ' \x12 ' , ' \x20 ' , ' \x1E ' , ' \x8F ' , ' \xD7 ' , ' \xAA ' , ' \xD5 ' , ' \xEA ' ,
98
- ' \xAF ' , ' I' , ' 5' , ' F' , ' \xAA ' , ' T' , ' \x5F ' , ' \x9F ' ,
99
- ' \x22 ' , ' A' , ' \x2A ' , ' \x95 ' , ' \xA ' , ' \x83 ' , ' \xE5 ' , ' r' ,
100
- ' 9' , ' d' , ' \xB3 ' , ' Y' , ' \x96 ' , ' \x99 ' , ' L' , ' \x6 ' ,
101
- ' \xE9 ' , ' t' , ' \x9A ' , ' \x25 ' , ' \x85 ' , ' \x2C ' , ' \xCB ' , ' T' ,
102
- ' \xA7 ' , ' \xC4 ' , ' b' , ' 1' , ' \xB5 ' , ' \x5E ' , ' \x0 ' , ' \x3 ' ,
103
- ' h' , ' \x9A ' , ' \xC6 ' , ' \x16 ' , ' \x82 ' , ' \x20 ' , ' X' , ' R' ,
104
- ' \x14 ' , ' E' , ' 6' , ' S' , ' \x94 ' , ' \xCB ' , ' e' , ' x' ,
105
- ' \xBD ' , ' \x5E ' , ' \xAA ' , ' U' , ' T' , ' \x23 ' , ' L' , ' \xC0 ' ,
106
- ' \xE0 ' , ' \xE2 ' , ' \xC1 ' , ' \x8F ' , ' \x0 ' , ' \x9E ' , ' \xBC ' , ' \x9 ' ,
107
- ' A' , ' \x7C ' , ' \x3E ' , ' \x1F ' , ' \x83 ' , ' D' , ' \x22 ' , ' \x11 ' ,
108
- ' \xD5 ' , ' T' , ' \x40 ' , ' \x3F ' , ' 8' , ' \x80 ' , ' w' , ' \xE5 ' ,
109
- ' 3' , ' \x7 ' , ' \xB8 ' , ' \x5C ' , ' \x2E ' , ' H' , ' \x92 ' , ' \x4 ' ,
110
- ' \x87 ' , ' \xC3 ' , ' \x81 ' , ' \x40 ' , ' \x20 ' , ' \x40 ' , ' g' , ' \x98 ' ,
111
- ' \xE9 ' , ' 6' , ' \x1A ' , ' \xA6 ' , ' g' , ' \x15 ' , ' \x4 ' , ' \xE3 ' ,
112
- ' \xD7 ' , ' \xC8 ' , ' \xBD ' , ' \x15 ' , ' \xE1 ' , ' i' , ' \xB7 ' , ' C' ,
113
- ' \xAB ' , ' \xEA ' , ' x' , ' \x2F ' , ' j' , ' X' , ' \x92 ' , ' \xBB ' ,
114
- ' \x18 ' , ' \x20 ' , ' \x9F ' , ' \xCF ' , ' 3' , ' \xC3 ' , ' \xB8 ' , ' \xE9 ' ,
115
- ' N' , ' \xA7 ' , ' \xD3 ' , ' l' , ' J' , ' \x0 ' , ' i' , ' 6' ,
116
- ' \x7C ' , ' \x8E ' , ' \xE1 ' , ' \xFE ' , ' V' , ' \x84 ' , ' \xE7 ' , ' \x3C ' ,
117
- ' \x9F ' , ' r' , ' \x2B ' , ' \x3A ' , ' B' , ' \x7B ' , ' 7' , ' f' ,
118
- ' w' , ' \xAE ' , ' \x8E ' , ' \xE ' , ' \xF3 ' , ' \xBD ' , ' R' , ' \xA9 ' ,
119
- ' d' , ' \x2 ' , ' B' , ' \xAF ' , ' \x85 ' , ' 2' , ' f' , ' F' ,
120
- ' \xBA ' , ' \xC ' , ' \xD9 ' , ' \x9F ' , ' \x1D ' , ' \x9A ' , ' l' , ' \x22 ' ,
121
- ' \xE6 ' , ' \xC7 ' , ' \x3A ' , ' \x2C ' , ' \x80 ' , ' \xEF ' , ' \xC1 ' , ' \x15 ' ,
122
- ' \x90 ' , ' \x7 ' , ' \x93 ' , ' \xA2 ' , ' \x28 ' , ' \xA0 ' , ' S' , ' j' ,
123
- ' \xB1 ' , ' \xB8 ' , ' \xDF ' , ' \x29 ' , ' 5' , ' C' , ' \xE ' , ' \x3F ' ,
124
- ' X' , ' \xFC ' , ' \x98 ' , ' \xDA ' , ' y' , ' j' , ' P' , ' \x40 ' ,
125
- ' \x0 ' , ' \x87 ' , ' \xAE ' , ' \x1B ' , ' \x17 ' , ' B' , ' \xB4 ' , ' \x3A ' ,
126
- ' \x3F ' , ' \xBE ' , ' y' , ' \xC7 ' , ' \xA ' , ' \x26 ' , ' \xB6 ' , ' \xEE ' ,
127
- ' \xD9 ' , ' \x9A ' , ' \x60 ' , ' \x14 ' , ' \x93 ' , ' \xDB ' , ' \x8F ' , ' \xD ' ,
128
- ' \xA ' , ' \x2E ' , ' \xE9 ' , ' \x23 ' , ' \x95 ' , ' \x29 ' , ' X' , ' \x0 ' ,
129
- ' \x27 ' , ' \xEB ' , ' n' , ' V' , ' p' , ' \xBC ' , ' \xD6 ' , ' \xCB ' ,
130
- ' \xD6 ' , ' G' , ' \xAB ' , ' \x3D ' , ' l' , ' \x7D ' , ' \xB8 ' , ' \xD2 ' ,
131
- ' \xDD ' , ' \xA0 ' , ' \x60 ' , ' \x83 ' , ' \xBA ' , ' \xEF ' , ' \x5F ' , ' \xA4 ' ,
132
- ' \xEA ' , ' \xCC ' , ' \x2 ' , ' N' , ' \xAE ' , ' \x5E ' , ' p' , ' \x1A ' ,
133
- ' \xEC ' , ' \xB3 ' , ' \x40 ' , ' 9' , ' \xAC ' , ' \xFE ' , ' \xF2 ' , ' \x91 ' ,
134
- ' \x89 ' , ' g' , ' \x91 ' , ' \x85 ' , ' \x21 ' , ' \xA8 ' , ' \x87 ' , ' \xB7 ' ,
135
- ' X' , ' \x7E ' , ' \x7E ' , ' \x85 ' , ' \xBB ' , ' \xCD ' , ' N' , ' N' ,
136
- ' b' , ' t' , ' \x40 ' , ' \xFA ' , ' \x93 ' , ' \x89 ' , ' \xEC ' , ' \x1E ' ,
137
- ' \xEC ' , ' \x86 ' , ' \x2 ' , ' H' , ' \x26 ' , ' \x93 ' , ' \xD0 ' , ' u' ,
138
- ' \x1D ' , ' \x7F ' , ' \x9 ' , ' 2' , ' \x95 ' , ' \xBF ' , ' \x1F ' , ' \xDB ' ,
139
- ' \xD7 ' , ' c' , ' \x8A ' , ' \x1A ' , ' \xF7 ' , ' \x5C ' , ' \xC1 ' , ' \xFF ' ,
140
- ' \x22 ' , ' J' , ' \xC3 ' , ' \x87 ' , ' \x0 ' , ' \x3 ' , ' \x0 ' , ' K' ,
141
- ' \xBB ' , ' \xF8 ' , ' \xD6 ' , ' \x2A ' , ' v' , ' \x98 ' , ' I' , ' \x0 ' ,
142
- ' \x0 ' , ' \x0 ' , ' \x0 ' , ' I' , ' E' , ' N' , ' D' , ' \xAE ' ,
143
- ' B' , ' \x60 ' , ' \x82 ' ,
144
- };
0 commit comments