SpiecsEngine
 
Loading...
Searching...
No Matches

◆ OnRequest()

void Spices::Net::HttpServer::OnRequest ( const TcpConnectionPtr & connection,
const HttpRequest & request )
private

Definition at line 92 of file HttpServer.cpp.

93 {
95
96 std::string connectionHeader = request.GetHeader("Connection");
97
98 bool close = connectionHeader == "close" || (request.GetVersion() == HttpRequest::Version::HTTP10 && connectionHeader != "Keep-Alive");
99
100 HttpResponse response(close);
101 m_HttpCallback(request, &response);
102
103 Buffer buf;
104 response.AppendToBuffer(&buf);
105 connection->Send(buf.RetrieveAllAsString());
106
107 if (response.CloseConnection())
108 {
109 connection->ShutDown();
110 }
111 }
#define SPICES_PROFILE_ZONE
HttpCallback m_HttpCallback
Definition HttpServer.h:75

References Spices::Net::HttpResponse::AppendToBuffer(), Spices::Net::HttpResponse::CloseConnection(), Spices::Net::HttpRequest::GetHeader(), Spices::Net::HttpRequest::GetVersion(), Spices::Net::HttpRequest::HTTP10, and Spices::Net::HttpResponse::HttpResponse().