From ccaa666cf9dbef3e865c2109ae619215b86805c6 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sat, 26 May 2018 19:33:39 +0100 Subject: [PATCH] http_protocol_handler: speedup newline discarding --- contrib/epee/include/net/http_protocol_handler.inl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/contrib/epee/include/net/http_protocol_handler.inl b/contrib/epee/include/net/http_protocol_handler.inl index c18f7f706..7aba6c1dd 100644 --- a/contrib/epee/include/net/http_protocol_handler.inl +++ b/contrib/epee/include/net/http_protocol_handler.inl @@ -236,6 +236,8 @@ namespace net_utils bool simple_http_connection_handler::handle_buff_in(std::string& buf) { + size_t ndel; + if(m_cache.size()) m_cache += buf; else @@ -253,11 +255,12 @@ namespace net_utils break; //check_and_handle_fake_response(); - if((m_cache[0] == '\r' || m_cache[0] == '\n')) + ndel = m_cache.find_first_not_of("\r\n"); + if (ndel != 0) { //some times it could be that before query line cold be few line breaks //so we have to be calm without panic with assers - m_cache.erase(0, 1); + m_cache.erase(0, ndel); break; }