93 [](
const std::shared_ptr<Request>& req) {
94 VLOG(1) << req->getSocketContext()->getSocketConnection()->getConnectionName() <<
": OnRequestStart";
98 req->set(
"Connection",
"keep-alive");
99 req->setTrailer(
"MyTrailer",
102 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
103 logResponse(req, res);
107 req->url =
"/hihihih";
108 req->set(
"Connection",
"keep-alive");
109 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
110 logResponse(req, res);
114 req->url =
"/index.html";
116 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
117 logResponse(req, res);
120 req->set(
"Connection",
"keep-alive");
121 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
122 logResponse(req, res);
124 req->url =
"/index.html";
125 req->set(
"Connection",
"keep-alive");
126 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
127 logResponse(req, res);
130 req->set(
"Connection",
"keep-alive");
131 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
132 logResponse(req, res);
134 req->url =
"/index.html";
135 req->set(
"Connection",
"keep-alive");
136 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
137 logResponse(req, res);
140 req->set(
"Connection",
"keep-alive");
141 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
142 logResponse(req, res);
144 req->url =
"/index.html";
145 req->set(
"Connection",
"keep-alive");
146 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
147 logResponse(req, res);
150 req->set(
"Connection",
"keep-alive");
151 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
152 logResponse(req, res);
154 req->url =
"/index.html";
155 req->set(
"Connection",
"keep-alive");
156 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
157 logResponse(req, res);
160 req->set(
"Connection",
"keep-alive");
161 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
162 logResponse(req, res);
164 req->url =
"/index.html";
165 req->set(
"Connection",
"keep-alive");
166 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
167 logResponse(req, res);
170 req->set(
"Connection",
"keep-alive");
171 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
172 logResponse(req, res);
174 req->url =
"/index.html";
175 req->set(
"Connection",
"keep-alive");
176 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
177 logResponse(req, res);
180 req->set(
"Connection",
"keep-alive");
181 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
182 logResponse(req, res);
184 req->url =
"/index.html";
185 req->set(
"Connection",
"keep-alive");
186 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
187 logResponse(req, res);
190 req->set(
"Connection",
"keep-alive");
191 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
192 logResponse(req, res);
196 req->method =
"POST";
198 req->set(
"Test",
"aaa");
199 req->setTrailer(
"MyTrailer1",
202 req->setTrailer(
"MyTrailer2",
"MyTrailerValue2");
203 req->setTrailer(
"MyTrailer3",
"MyTrailerValue3");
204 req->setTrailer(
"MyTrailer4",
"MyTrailerValue4");
205 req->setTrailer(
"MyTrailer5",
"MyTrailerValue5");
206 req->setTrailer(
"MyTrailer6",
"MyTrailerValue6");
207 req->query(
"Query1",
"QueryValue1");
208 req->query(
"Query2",
"QueryValue2");
210 "/home/voc/projects/snodec/snode.c/CMakeLists.txt",
213 VLOG(1) << req->getSocketContext()->getSocketConnection()->getConnectionName()
214 <<
" HTTP: Request accepted: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
215 VLOG(1) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.txt";
217 LOG(ERROR) << req->getSocketContext()->getSocketConnection()->getConnectionName()
218 <<
" HTTP: Request failed: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
219 PLOG(ERROR) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.txt";
221 req->set(
"Connection",
"close");
222 req->end([]([[maybe_unused]]
const std::shared_ptr<Request>& req,
223 [[maybe_unused]]
const std::shared_ptr<Response>& res) {
227 [](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
228 logResponse(req, res);
231 req->method =
"POST";
233 req->set(
"Connection",
"keep-alive");
234 req->set(
"Test",
"bbb");
236 "/home/voc/projects/snodec/snode.c/CMakeLists.tt",
239 VLOG(1) << req->getSocketContext()->getSocketConnection()->getConnectionName()
240 <<
" HTTP: Request accepted: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
241 VLOG(1) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.tt";
243 LOG(ERROR) << req->getSocketContext()->getSocketConnection()->getConnectionName()
244 <<
" HTTP: Request failed: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
245 PLOG(ERROR) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.tt";
250 req->set(
"Connection",
"close");
251 req->set(
"Test",
"ccc");
252 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
253 logResponse(req, res);
257 [](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
258 logResponse(req, res);
264 req->set(
"Connection",
"close");
265 req->set(
"Test",
"xxx");
266 req->end([](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
267 logResponse(req, res);
269 core::EventReceiver::atNextTick([req]() {
270 req->method =
"POST";
272 req->set(
"Connection",
"keep-alive");
273 req->set(
"Test",
"ddd");
275 "/home/voc/projects/snodec/snode.c/CMakeLists.txt",
278 VLOG(1) << req->getSocketContext()->getSocketConnection()->getConnectionName()
279 <<
" HTTP: Request accepted: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
280 VLOG(1) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.txt";
282 LOG(ERROR) << req->getSocketContext()->getSocketConnection()->getConnectionName()
283 <<
" HTTP: Request failed: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
284 PLOG(ERROR) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.txt";
286 req->set(
"Connection",
"close");
287 req->end([]([[maybe_unused]]
const std::shared_ptr<Request>& req,
288 [[maybe_unused]]
const std::shared_ptr<Response>& res) {
292 [](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
293 logResponse(req, res);
296 req->method =
"POST";
298 req->set(
"Connection",
"keep-alive");
299 req->set(
"Test",
"eee");
300 req->setTrailer(
"MyTrailer1",
"MyTrailerValue1");
301 req->setTrailer(
"MyTrailer2",
"MyTrailerValue2");
303 "/home/voc/projects/snodec/snode.c/CMakeLists.txt",
306 VLOG(1) << req->getSocketContext()->getSocketConnection()->getConnectionName()
307 <<
" HTTP: Request accepted: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
308 VLOG(1) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.txt";
310 LOG(ERROR) << req->getSocketContext()->getSocketConnection()->getConnectionName()
311 <<
" HTTP: Request failed: POST / HTTP/" << req->httpMajor <<
"." << req->httpMinor;
312 PLOG(ERROR) <<
" /home/voc/projects/snodec/snode.c/CMakeLists.txt";
314 req->set(
"Connection",
"close");
315 req->end([]([[maybe_unused]]
const std::shared_ptr<Request>& req,
316 [[maybe_unused]]
const std::shared_ptr<Response>& res) {
320 [](
const std::shared_ptr<Request>& req,
const std::shared_ptr<Response>& res) {
321 logResponse(req, res);
326 []([[maybe_unused]]
const std::shared_ptr<Request>& req) {
327 VLOG(1) << req->getSocketContext()->getSocketConnection()->getConnectionName() <<
": OnRequestEnd";
330 client.setOnConnect([](SocketConnection* socketConnection) {
331 VLOG(1) << socketConnection->getConnectionName() <<
": OnConnect";
333 VLOG(1) <<
"\tLocal: " << socketConnection->getLocalAddress().toString();
334 VLOG(1) <<
"\tPeer: " << socketConnection->getRemoteAddress().toString();
337 client.setOnDisconnect([](SocketConnection* socketConnection) {
338 VLOG(1) << socketConnection->getConnectionName() <<
": OnDisconnect";
340 VLOG(1) <<
"\tLocal: " << socketConnection->getLocalAddress().toString();
341 VLOG(1) <<
"\tPeer: " << socketConnection->getRemoteAddress().toString();