• Home
  • Raw
  • Download

Lines Matching refs:client

104             std::unique_ptr<ClientThread> client = std::make_unique<ClientThread>();  in Run()  local
105 if (sockets_[index].Accept(client->sock_)) { in Run()
106client->thread_ = std::thread(&HttpServer::ProcessClient, this, std::ref(client->sock_)); in Run()
107 clientThreads_.push_back(std::move(client)); in Run()
144 std::unique_ptr<ClientThread> client = std::make_unique<ClientThread>(); in Run() local
145 if (sockets_[i].Accept(client->sock_)) { in Run()
146client->thread_ = std::thread(&HttpServer::ProcessClient, this, std::ref(client->sock_)); in Run()
147 clientThreads_.push_back(std::move(client)); in Run()
209 HttpSocket& client) in ProcessAndParseReq() argument
211 if (!client.Recv(recvBuf.data() + recvPos, recvLen)) { in ProcessAndParseReq()
220 ProcessRequest(client, reqST); in ProcessAndParseReq()
226 void HttpServer::ProcessClient(HttpSocket& client) in ProcessClient() argument
237 WSAEventSelect(client.GetFd(), recvEvent, FD_READ | FD_CLOSE); in ProcessClient()
245 ProcessRequest(client, reqST); in ProcessClient()
254 WSAEnumNetworkEvents(client.GetFd(), recvEvent, &event); in ProcessClient()
259 if (!ProcessAndParseReq(recvPos, recvLen, recvBuf, reqST, client)) { in ProcessClient()
263 TS_LOGI("client close socket(%d)", client.GetFd()); in ProcessClient()
267 TS_LOGI("recive client thread exit. socket(%d)", client.GetFd()); in ProcessClient()
269 client.Close(); in ProcessClient()
272 void HttpServer::ProcessClient(HttpSocket& client) in ProcessClient() argument
279 struct pollfd fd = {client.GetFd(), POLLIN, 0}; in ProcessClient()
283 TS_LOGE("poll client socket(%d) error: %d:%s", client.GetFd(), errno, strerror(errno)); in ProcessClient()
288 ProcessRequest(client, reqST); in ProcessClient()
295 if (!ProcessAndParseReq(recvPos, recvLen, recvBuf, reqST, client)) { in ProcessClient()
299 TS_LOGI("recive client thread exit. socket(%d)", client.GetFd()); in ProcessClient()
301 client.Close(); in ProcessClient()
306 void HttpServer::ProcessRequest(HttpSocket& client, RequestST& request) in ProcessRequest() argument
309 TS_LOGE("http request data missing, client %d\n", client.GetFd()); in ProcessRequest()
310 HttpResponse(client, "408 Request Time-out\r\n"); in ProcessRequest()
313 TS_LOGE("bad http request, client %d\n", client.GetFd()); in ProcessRequest()
314 HttpResponse(client, "400 Bad Request\r\n"); in ProcessRequest()
318 HttpResponse(client, in ProcessRequest()
325 TS_LOGE("method(%s) not allowed, client %d", request.method.c_str(), client.GetFd()); in ProcessRequest()
326 HttpResponse(client, "405 Method Not Allowed\r\n"); in ProcessRequest()
331 TS_LOGE("http uri(%s) not found, client %d", request.uri.c_str(), client.GetFd()); in ProcessRequest()
332 HttpResponse(client, "404 Not Found\r\n"); in ProcessRequest()
335 HttpResponse(client, "200 OK\r\n", true); in ProcessRequest()
336 auto resultCallback = [&client](const std::string& result, int32_t) { in ProcessRequest()
339 if (!client.Send(chunkLenbuff.str().data(), chunkLenbuff.str().size())) { in ProcessRequest()
340 TS_LOGE("send client socket(%d) error", client.GetFd()); in ProcessRequest()
343 if (!client.Send(result.data(), result.size())) { in ProcessRequest()
344 TS_LOGE("send client socket(%d) error", client.GetFd()); in ProcessRequest()
347 if (!client.Send("\r\n", strlen("\r\n"))) { in ProcessRequest()
348 TS_LOGE("send client socket(%d) error", client.GetFd()); in ProcessRequest()
353 if (!client.Send("0\r\n\r\n", strlen("0\r\n\r\n"))) { // chunk tail in ProcessRequest()
354 TS_LOGE("send client socket(%d) error", client.GetFd()); in ProcessRequest()
418 void HttpServer::HttpResponse(HttpSocket& client, const std::string& status, bool hasBody) in HttpResponse() argument
432 if (!client.Send(res.data(), res.size())) { in HttpResponse()
433 TS_LOGE("send client socket(%d) error", client.GetFd()); in HttpResponse()