@@ -380,6 +380,7 @@ class asio_context : public request_context, public std::enable_shared_from_this
380380
381381 const auto &host = base_uri.host ();
382382 std::ostream request_stream (&m_body_buf);
383+ request_stream.imbue (std::locale::classic ());
383384
384385 request_stream << method << " " << encoded_resource << " " << " HTTP/1.1" << CRLF << " Host: " << host;
385386
@@ -768,6 +769,7 @@ class asio_context : public request_context, public std::enable_shared_from_this
768769 m_timer.reset ();
769770
770771 std::istream response_stream (&m_body_buf);
772+ response_stream.imbue (std::locale::classic ());
771773 std::string http_version;
772774 response_stream >> http_version;
773775 status_code status_code;
@@ -783,9 +785,6 @@ class asio_context : public request_context, public std::enable_shared_from_this
783785
784786 if (!response_stream || http_version.substr (0 , 5 ) != " HTTP/" )
785787 {
786- printf (" HTTP VERSION:%s\n " , http_version.c_str ());
787- printf (" Status_code:%hu\n " , status_code);
788- printf (" Status message:%s\n " , status_message.c_str ());
789788 report_error (" Invalid HTTP status line" , ec, httpclient_errorcode_context::readheader);
790789 return ;
791790 }
@@ -826,6 +825,7 @@ class asio_context : public request_context, public std::enable_shared_from_this
826825 {
827826 auto needChunked = false ;
828827 std::istream response_stream (&m_body_buf);
828+ response_stream.imbue (std::locale::classic ());
829829 std::string header;
830830 while (std::getline (response_stream, header) && header != " \r " )
831831 {
@@ -913,6 +913,7 @@ class asio_context : public request_context, public std::enable_shared_from_this
913913 m_timer.reset ();
914914
915915 std::istream response_stream (&m_body_buf);
916+ response_stream.imbue (std::locale::classic ());
916917 std::string line;
917918 std::getline (response_stream, line);
918919
0 commit comments