SpiecsEngine
 
Loading...
Searching...
No Matches

◆ OnMessage()

void Spices::Net::HttpServer::OnMessage ( const TcpConnectionPtr & connection,
Buffer * buf )
private

Definition at line 63 of file HttpServer.cpp.

64 {
66
67 auto context = std::make_unique<HttpContext>();
68
69 assert(m_NameNodeMap.count(connection->GetName()));
70 Node node = m_NameNodeMap[connection->GetName()];
71
73 assert(node == --m_ConnectionList.end());
74
75 if (!context->ParseRequest(buf))
76 {
77 SPICES_CORE_INFO("HttpContext ParseRequest Failed")
78
79 connection->Send("HTTP/1.1 400 Bad Request\r\n\r\n");
80 connection->ShutDown();
81 }
82
83 if (context->GotAll())
84 {
85 SPICES_CORE_INFO("HttpContext ParseRequest Succeed")
86
87 OnRequest(connection, context->GetRequest());
88 context->Reset();
89 }
90 }
#define SPICES_PROFILE_ZONE
void OnRequest(const TcpConnectionPtr &connection, const HttpRequest &request)
WeakConnectionList::iterator Node
Definition HttpServer.h:26
WeakConnectionList m_ConnectionList
Definition HttpServer.h:78