@@ -13,7 +13,8 @@ namespace HttpServer
1313
1414 bool DataVariantMultipartFormData::append
1515 (
16- const Socket *sock,
16+ const Socket &sock,
17+ const std::chrono::milliseconds &timeout,
1718 std::vector<std::string::value_type> &buf,
1819 std::string &str_buf,
1920 const std::string &data_end,
@@ -29,7 +30,7 @@ namespace HttpServer
2930 }
3031
3132 // Получаем данные из сокета
32- recv_len = sock-> recv (buf);
33+ recv_len = sock. nonblock_recv (buf, timeout );
3334
3435 // Завершаем работу, если ошибка получения данных через сокет
3536 if (0 == recv_len || std::numeric_limits<size_t >::max () == recv_len)
@@ -54,7 +55,8 @@ namespace HttpServer
5455
5556 bool DataVariantMultipartFormData::parse
5657 (
57- const Socket *sock,
58+ const Socket &sock,
59+ const std::chrono::milliseconds &timeout,
5860 const std::string str,
5961 const size_t leftBytes,
6062 const std::unordered_map<std::string, std::string> ¶ms,
@@ -92,7 +94,7 @@ namespace HttpServer
9294 if (std::string::npos == str_cur)
9395 {
9496 // Получить следующий кусок данных
95- if (false == append (sock, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
97+ if (false == append (sock, timeout, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
9698 {
9799 return false ;
98100 }
@@ -125,7 +127,7 @@ namespace HttpServer
125127 if (std::string::npos == headers_end)
126128 {
127129 // Получить следующий кусок данных
128- if (false == append (sock, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
130+ if (false == append (sock, timeout, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
129131 {
130132 return false ;
131133 }
@@ -282,7 +284,7 @@ namespace HttpServer
282284 str_buf.assign (str_buf.cend () - data_end.length (), str_buf.cend () );
283285
284286 // Получить следующий кусок данных
285- if (false == append (sock, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
287+ if (false == append (sock, timeout, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
286288 {
287289 return false ;
288290 }
@@ -338,7 +340,7 @@ namespace HttpServer
338340 str_buf.assign (str_buf.cend () - data_end.length (), str_buf.cend () );
339341
340342 // Получить следующий кусок данных
341- if (false == append (sock, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
343+ if (false == append (sock, timeout, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
342344 {
343345 return false ;
344346 }
@@ -389,7 +391,7 @@ namespace HttpServer
389391 str_buf.assign (str_buf.cend () - data_end.length (), str_buf.cend () );
390392
391393 // Получить следующий кусок данных
392- if (false == append (sock, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
394+ if (false == append (sock, timeout, buf, str_buf, data_end, leftBytes, recv_len, read_len) )
393395 {
394396 return false ;
395397 }
@@ -410,4 +412,4 @@ namespace HttpServer
410412
411413 return true ;
412414 }
413- };
415+ };
0 commit comments