Skip to content

Commit 1e4717e

Browse files
committed
Convert http_versions::from_string to use UTF-8
1 parent 0f7d2c3 commit 1e4717e

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

Release/include/cpprest/http_msg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ struct http_version
6363
/// Creates <c>http_version</c> from an HTTP-Version string, "HTTP" "/" 1*DIGIT "." 1*DIGIT.
6464
/// </summary>
6565
/// <returns>Returns a <c>http_version</c> of {0, 0} if not successful.</returns>
66-
static _ASYNCRTIMP http_version __cdecl from_string(const utility::string_t& http_version_string);
66+
static _ASYNCRTIMP http_version __cdecl from_string(const std::string& http_version_string);
6767

6868
/// <summary>
6969
/// Returns the string representation of the <c>http_version</c>.

Release/src/http/common/http_msg.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,18 +254,18 @@ void parse_headers_string(_Inout_z_ utf16char *headersStr, http_headers &headers
254254

255255
}
256256

257-
http_version __cdecl http_version::from_string(const utility::string_t& http_version_string)
257+
http_version __cdecl http_version::from_string(const std::string& http_version_string)
258258
{
259-
utility::istringstream_t str(http_version_string);
259+
std::stringstream str(http_version_string);
260260
str.imbue(std::locale::classic());
261261

262-
utility::string_t http; std::getline(str, http, _XPLATSTR('/'));
262+
std::string http; std::getline(str, http, '/');
263263
unsigned int major = 0; str >> major;
264-
utility::char_t dot = _XPLATSTR('\0'); str >> dot;
264+
char dot = '\0'; str >> dot;
265265
unsigned int minor = 0; str >> minor;
266266

267267
// check no failure, fully consumed, and correct fixed text
268-
if (!str.fail() && str.eof() && _XPLATSTR("HTTP") == http && _XPLATSTR('.') == dot)
268+
if (!str.fail() && str.eof() && "HTTP" == http && '.' == dot)
269269
{
270270
return{ (uint8_t)major, (uint8_t)minor };
271271
}

Release/tests/functional/http/listener/request_handler_tests.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -456,22 +456,22 @@ TEST_FIXTURE(uri_address, http_version)
456456
VERIFY_IS_TRUE("HTTP/1.1" == http_versions::HTTP_1_1.to_utf8string());
457457
VERIFY_IS_TRUE("HTTP/12.3" == (http_version{ 12, 3 }).to_utf8string());
458458
// parsing should succeed
459-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/0.9")) == http_versions::HTTP_0_9);
460-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/1.0")) == http_versions::HTTP_1_0);
461-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/1.1")) == http_versions::HTTP_1_1);
462-
VERIFY_IS_TRUE((http_version::from_string(U("HTTP/12.3")) == http_version{ 12, 3 }));
459+
VERIFY_IS_TRUE(http_version::from_string("HTTP/0.9") == http_versions::HTTP_0_9);
460+
VERIFY_IS_TRUE(http_version::from_string("HTTP/1.0") == http_versions::HTTP_1_0);
461+
VERIFY_IS_TRUE(http_version::from_string("HTTP/1.1") == http_versions::HTTP_1_1);
462+
VERIFY_IS_TRUE((http_version::from_string("HTTP/12.3") == http_version{ 12, 3 }));
463463
// parsing should fail
464464
http_version unknown = { 0, 0 };
465-
VERIFY_IS_TRUE(http_version::from_string(U("http/12.3")) == unknown);
466-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/12.3foo")) == unknown);
467-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/12.")) == unknown);
468-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/12")) == unknown);
469-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/.3")) == unknown);
470-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP/")) == unknown);
471-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP")) == unknown);
472-
VERIFY_IS_TRUE(http_version::from_string(U("HTTP")) == unknown);
473-
VERIFY_IS_TRUE(http_version::from_string(U("foo")) == unknown);
474-
VERIFY_IS_TRUE(http_version::from_string(U("")) == unknown);
465+
VERIFY_IS_TRUE(http_version::from_string("http/12.3") == unknown);
466+
VERIFY_IS_TRUE(http_version::from_string("HTTP/12.3foo") == unknown);
467+
VERIFY_IS_TRUE(http_version::from_string("HTTP/12.") == unknown);
468+
VERIFY_IS_TRUE(http_version::from_string("HTTP/12") == unknown);
469+
VERIFY_IS_TRUE(http_version::from_string("HTTP/.3") == unknown);
470+
VERIFY_IS_TRUE(http_version::from_string("HTTP/") == unknown);
471+
VERIFY_IS_TRUE(http_version::from_string("HTTP") == unknown);
472+
VERIFY_IS_TRUE(http_version::from_string("HTTP") == unknown);
473+
VERIFY_IS_TRUE(http_version::from_string("foo") == unknown);
474+
VERIFY_IS_TRUE(http_version::from_string("") == unknown);
475475

476476
http_listener listener(U("http://localhost:45678/path1"));
477477
listener.open().wait();

0 commit comments

Comments
 (0)