Commit b4c70ac2 authored by jamesge's avatar jamesge

Rename URI.schema to scheme and calling schema/set_schema will be notified with deprecation

parent 1e2f4e83
...@@ -87,7 +87,7 @@ URL的一般形式如下图: ...@@ -87,7 +87,7 @@ URL的一般形式如下图:
// | | | | | | | | // | | | | | | | |
// | userinfo host port | | query fragment // | userinfo host port | | query fragment
// | \________________________________/\_____________|____|/ \__/ \__/ // | \________________________________/\_____________|____|/ \__/ \__/
// schema | | | | | | // scheme | | | | | |
// authority | | | | | // authority | | | | |
// path | | interpretable as keys // path | | interpretable as keys
// | | // | |
......
...@@ -88,7 +88,7 @@ Genaral form of an URL: ...@@ -88,7 +88,7 @@ Genaral form of an URL:
// | | | | | | | | // | | | | | | | |
// | userinfo host port | | query fragment // | userinfo host port | | query fragment
// | \________________________________/\_____________|____|/ \__/ \__/ // | \________________________________/\_____________|____|/ \__/ \__/
// schema | | | | | | // scheme | | | | | |
// authority | | | | | // authority | | | | |
// path | | interpretable as keys // path | | interpretable as keys
// | | // | |
......
...@@ -258,9 +258,9 @@ enum state ...@@ -258,9 +258,9 @@ enum state
, s_req_method , s_req_method
, s_req_spaces_before_url , s_req_spaces_before_url
, s_req_schema , s_req_scheme
, s_req_schema_slash , s_req_scheme_slash
, s_req_schema_slash_slash , s_req_scheme_slash_slash
, s_req_server_start , s_req_server_start
, s_req_server , s_req_server
, s_req_server_with_at , s_req_server_with_at
...@@ -343,9 +343,9 @@ const char* http_parser_state_name(unsigned int state) { ...@@ -343,9 +343,9 @@ const char* http_parser_state_name(unsigned int state) {
case s_start_req: return "s_start_req"; case s_start_req: return "s_start_req";
case s_req_method: return "s_req_method"; case s_req_method: return "s_req_method";
case s_req_spaces_before_url: return "s_req_spaces_before_url"; case s_req_spaces_before_url: return "s_req_spaces_before_url";
case s_req_schema: return "s_req_schema"; case s_req_scheme: return "s_req_scheme";
case s_req_schema_slash: return "s_req_schema_slash"; case s_req_scheme_slash: return "s_req_scheme_slash";
case s_req_schema_slash_slash: return "s_req_schema_slash_slash"; case s_req_scheme_slash_slash: return "s_req_scheme_slash_slash";
case s_req_server_start: return "s_req_server_start"; case s_req_server_start: return "s_req_server_start";
case s_req_server: return "s_req_server"; case s_req_server: return "s_req_server";
case s_req_server_with_at: return "s_req_server_with_at"; case s_req_server_with_at: return "s_req_server_with_at";
...@@ -562,30 +562,30 @@ parse_url_char(enum state s, const char ch) ...@@ -562,30 +562,30 @@ parse_url_char(enum state s, const char ch)
} }
if (IS_ALPHA(ch)) { if (IS_ALPHA(ch)) {
return s_req_schema; return s_req_scheme;
} }
break; break;
case s_req_schema: case s_req_scheme:
if (IS_ALPHA(ch)) { if (IS_ALPHA(ch)) {
return s; return s;
} }
if (ch == ':') { if (ch == ':') {
return s_req_schema_slash; return s_req_scheme_slash;
} }
break; break;
case s_req_schema_slash: case s_req_scheme_slash:
if (ch == '/') { if (ch == '/') {
return s_req_schema_slash_slash; return s_req_scheme_slash_slash;
} }
break; break;
case s_req_schema_slash_slash: case s_req_scheme_slash_slash:
if (ch == '/') { if (ch == '/') {
return s_req_server_start; return s_req_server_start;
} }
...@@ -725,9 +725,9 @@ size_t http_parser_execute (http_parser *parser, ...@@ -725,9 +725,9 @@ size_t http_parser_execute (http_parser *parser,
header_value_mark = data; header_value_mark = data;
switch (parser->state) { switch (parser->state) {
case s_req_path: case s_req_path:
case s_req_schema: case s_req_scheme:
case s_req_schema_slash: case s_req_scheme_slash:
case s_req_schema_slash_slash: case s_req_scheme_slash_slash:
case s_req_server_start: case s_req_server_start:
case s_req_server: case s_req_server:
case s_req_server_with_at: case s_req_server_with_at:
...@@ -1160,9 +1160,9 @@ size_t http_parser_execute (http_parser *parser, ...@@ -1160,9 +1160,9 @@ size_t http_parser_execute (http_parser *parser,
break; break;
} }
case s_req_schema: case s_req_scheme:
case s_req_schema_slash: case s_req_scheme_slash:
case s_req_schema_slash_slash: case s_req_scheme_slash_slash:
case s_req_server_start: case s_req_server_start:
{ {
enum state new_state; enum state new_state;
...@@ -2254,15 +2254,15 @@ http_parser_parse_url(const char *buf, size_t buflen, int is_connect, ...@@ -2254,15 +2254,15 @@ http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
return 1; return 1;
/* Skip delimeters */ /* Skip delimeters */
case s_req_schema_slash: case s_req_scheme_slash:
case s_req_schema_slash_slash: case s_req_scheme_slash_slash:
case s_req_server_start: case s_req_server_start:
case s_req_query_string_start: case s_req_query_string_start:
case s_req_fragment_start: case s_req_fragment_start:
continue; continue;
case s_req_schema: case s_req_scheme:
uf = UF_SCHEMA; uf = UF_SCHEME;
break; break;
case s_req_server_with_at: case s_req_server_with_at:
...@@ -2302,9 +2302,9 @@ http_parser_parse_url(const char *buf, size_t buflen, int is_connect, ...@@ -2302,9 +2302,9 @@ http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
old_uf = uf; old_uf = uf;
} }
/* host must be present if there is a schema */ /* host must be present if there is a scheme */
/* parsing http:///toto will fail */ /* parsing http:///toto will fail */
if ((u->field_set & ((1 << UF_SCHEMA) | (1 << UF_HOST))) != 0) { if ((u->field_set & ((1 << UF_SCHEME) | (1 << UF_HOST))) != 0) {
if (http_parse_host(buf, u, found_at) != 0) { if (http_parse_host(buf, u, found_at) != 0) {
return 1; return 1;
} }
......
...@@ -236,7 +236,7 @@ struct http_parser_settings { ...@@ -236,7 +236,7 @@ struct http_parser_settings {
enum http_parser_url_fields enum http_parser_url_fields
{ UF_SCHEMA = 0 { UF_SCHEME = 0
, UF_HOST = 1 , UF_HOST = 1
, UF_PORT = 2 , UF_PORT = 2
, UF_PATH = 3 , UF_PATH = 3
......
...@@ -1263,7 +1263,7 @@ int H2StreamContext::ConsumeHeaders(butil::IOBufBytesIterator& it) { ...@@ -1263,7 +1263,7 @@ int H2StreamContext::ConsumeHeaders(butil::IOBufBytesIterator& it) {
case 's': case 's':
if (strcmp(name + 2, /*:s*/"cheme") == 0) { if (strcmp(name + 2, /*:s*/"cheme") == 0) {
matched = true; matched = true;
h.uri().set_schema(pair.value); h.uri().set_scheme(pair.value);
} else if (strcmp(name + 2, /*:s*/"tatus") == 0) { } else if (strcmp(name + 2, /*:s*/"tatus") == 0) {
matched = true; matched = true;
char* endptr = NULL; char* endptr = NULL;
...@@ -1408,7 +1408,7 @@ H2UnsentRequest* H2UnsentRequest::New(Controller* c) { ...@@ -1408,7 +1408,7 @@ H2UnsentRequest* H2UnsentRequest::New(Controller* c) {
msg->push(common->H2_METHOD) = HttpMethod2Str(h.method()); msg->push(common->H2_METHOD) = HttpMethod2Str(h.method());
} }
// :scheme // :scheme
const std::string* scheme = &h.uri().schema(); const std::string* scheme = &h.uri().scheme();
if (scheme->empty()) { if (scheme->empty()) {
scheme = (c->is_ssl() ? &common->H2_SCHEME_HTTPS : scheme = (c->is_ssl() ? &common->H2_SCHEME_HTTPS :
&common->H2_SCHEME_HTTP); &common->H2_SCHEME_HTTP);
......
...@@ -1492,23 +1492,23 @@ void ProcessHttpRequest(InputMessageBase *msg) { ...@@ -1492,23 +1492,23 @@ void ProcessHttpRequest(InputMessageBase *msg) {
} }
bool ParseHttpServerAddress(butil::EndPoint* point, const char* server_addr_and_port) { bool ParseHttpServerAddress(butil::EndPoint* point, const char* server_addr_and_port) {
std::string schema; std::string scheme;
std::string host; std::string host;
int port = -1; int port = -1;
if (ParseURL(server_addr_and_port, &schema, &host, &port) != 0) { if (ParseURL(server_addr_and_port, &scheme, &host, &port) != 0) {
LOG(ERROR) << "Invalid address=`" << server_addr_and_port << '\''; LOG(ERROR) << "Invalid address=`" << server_addr_and_port << '\'';
return false; return false;
} }
if (schema.empty() || schema == "http") { if (scheme.empty() || scheme == "http") {
if (port < 0) { if (port < 0) {
port = 80; port = 80;
} }
} else if (schema == "https") { } else if (scheme == "https") {
if (port < 0) { if (port < 0) {
port = 443; port = 443;
} }
} else { } else {
LOG(ERROR) << "Invalid schema=`" << schema << '\''; LOG(ERROR) << "Invalid scheme=`" << scheme << '\'';
return false; return false;
} }
if (str2endpoint(host.c_str(), port, point) != 0 && if (str2endpoint(host.c_str(), port, point) != 0 &&
......
...@@ -41,7 +41,7 @@ void URI::Clear() { ...@@ -41,7 +41,7 @@ void URI::Clear() {
_path.clear(); _path.clear();
_user_info.clear(); _user_info.clear();
_fragment.clear(); _fragment.clear();
_schema.clear(); _scheme.clear();
_query.clear(); _query.clear();
_query_map.clear(); _query_map.clear();
} }
...@@ -55,7 +55,7 @@ void URI::Swap(URI &rhs) { ...@@ -55,7 +55,7 @@ void URI::Swap(URI &rhs) {
_path.swap(rhs._path); _path.swap(rhs._path);
_user_info.swap(rhs._user_info); _user_info.swap(rhs._user_info);
_fragment.swap(rhs._fragment); _fragment.swap(rhs._fragment);
_schema.swap(rhs._schema); _scheme.swap(rhs._scheme);
_query.swap(rhs._query); _query.swap(rhs._query);
_query_map.swap(rhs._query_map); _query_map.swap(rhs._query_map);
} }
...@@ -138,7 +138,7 @@ static const char* const g_url_parsing_fast_action_map = ...@@ -138,7 +138,7 @@ static const char* const g_url_parsing_fast_action_map =
g_url_parsing_fast_action_map_raw + 128; g_url_parsing_fast_action_map_raw + 128;
// This implementation is faster than http_parser_parse_url() and allows // This implementation is faster than http_parser_parse_url() and allows
// ignoring of schema("http://") // ignoring of scheme("http://")
int URI::SetHttpURL(const char* url) { int URI::SetHttpURL(const char* url) {
Clear(); Clear();
...@@ -148,8 +148,8 @@ int URI::SetHttpURL(const char* url) { ...@@ -148,8 +148,8 @@ int URI::SetHttpURL(const char* url) {
for (++p; *p == ' '; ++p) {} for (++p; *p == ' '; ++p) {}
} }
const char* start = p; const char* start = p;
// Find end of host, locate schema and user_info during the searching // Find end of host, locate scheme and user_info during the searching
bool need_schema = true; bool need_scheme = true;
bool need_user_info = true; bool need_user_info = true;
for (; true; ++p) { for (; true; ++p) {
const char action = g_url_parsing_fast_action_map[(int)*p]; const char action = g_url_parsing_fast_action_map[(int)*p];
...@@ -160,9 +160,9 @@ int URI::SetHttpURL(const char* url) { ...@@ -160,9 +160,9 @@ int URI::SetHttpURL(const char* url) {
break; break;
} }
if (*p == ':') { if (*p == ':') {
if (p[1] == '/' && p[2] == '/' && need_schema) { if (p[1] == '/' && p[2] == '/' && need_scheme) {
need_schema = false; need_scheme = false;
_schema.assign(start, p - start); _scheme.assign(start, p - start);
p += 2; p += 2;
start = p + 1; start = p + 1;
} }
...@@ -226,15 +226,15 @@ int URI::SetHttpURL(const char* url) { ...@@ -226,15 +226,15 @@ int URI::SetHttpURL(const char* url) {
} }
int ParseURL(const char* url, int ParseURL(const char* url,
std::string* schema_out, std::string* host_out, int* port_out) { std::string* scheme_out, std::string* host_out, int* port_out) {
const char* p = url; const char* p = url;
// skip heading blanks // skip heading blanks
if (*p == ' ') { if (*p == ' ') {
for (++p; *p == ' '; ++p) {} for (++p; *p == ' '; ++p) {}
} }
const char* start = p; const char* start = p;
// Find end of host, locate schema and user_info during the searching // Find end of host, locate scheme and user_info during the searching
bool need_schema = true; bool need_scheme = true;
bool need_user_info = true; bool need_user_info = true;
for (; true; ++p) { for (; true; ++p) {
const char action = g_url_parsing_fast_action_map[(int)*p]; const char action = g_url_parsing_fast_action_map[(int)*p];
...@@ -245,10 +245,10 @@ int ParseURL(const char* url, ...@@ -245,10 +245,10 @@ int ParseURL(const char* url,
break; break;
} }
if (*p == ':') { if (*p == ':') {
if (p[1] == '/' && p[2] == '/' && need_schema) { if (p[1] == '/' && p[2] == '/' && need_scheme) {
need_schema = false; need_scheme = false;
if (schema_out) { if (scheme_out) {
schema_out->assign(start, p - start); scheme_out->assign(start, p - start);
} }
p += 2; p += 2;
start = p + 1; start = p + 1;
...@@ -279,8 +279,8 @@ int ParseURL(const char* url, ...@@ -279,8 +279,8 @@ int ParseURL(const char* url,
void URI::Print(std::ostream& os) const { void URI::Print(std::ostream& os) const {
if (!_host.empty()) { if (!_host.empty()) {
if (!_schema.empty()) { if (!_scheme.empty()) {
os << _schema << "://"; os << _scheme << "://";
} else { } else {
os << "http://"; os << "http://";
} }
......
...@@ -37,7 +37,7 @@ namespace brpc { ...@@ -37,7 +37,7 @@ namespace brpc {
// | | | | | | | | // | | | | | | | |
// | userinfo host port | | query fragment // | userinfo host port | | query fragment
// | \________________________________/\_____________|____|/ \__/ \__/ // | \________________________________/\_____________|____|/ \__/ \__/
// schema | | | | | | // scheme | | | | | |
// authority | | | | | // authority | | | | |
// path | | interpretable as keys // path | | interpretable as keys
// | | // | |
...@@ -78,7 +78,8 @@ public: ...@@ -78,7 +78,8 @@ public:
const butil::Status& status() const { return _st; } const butil::Status& status() const { return _st; }
// Sub fields. Empty string if the field is not set. // Sub fields. Empty string if the field is not set.
const std::string& schema() const { return _schema; } // scheme in http2 const std::string& scheme() const { return _scheme; }
BAIDU_DEPRECATED const std::string& schema() const { return scheme(); }
const std::string& host() const { return _host; } const std::string& host() const { return _host; }
int port() const { return _port; } // -1 on unset. int port() const { return _port; } // -1 on unset.
const std::string& path() const { return _path; } const std::string& path() const { return _path; }
...@@ -92,7 +93,8 @@ public: ...@@ -92,7 +93,8 @@ public:
// Overwrite parts of the URL. // Overwrite parts of the URL.
// NOTE: The input MUST be guaranteed to be valid. // NOTE: The input MUST be guaranteed to be valid.
void set_schema(const std::string& schema) { _schema = schema; } void set_scheme(const std::string& scheme) { _scheme = scheme; }
BAIDU_DEPRECATED void set_schema(const std::string& s) { set_scheme(s); }
void set_path(const std::string& path) { _path = path; } void set_path(const std::string& path) { _path = path; }
void set_host(const std::string& host) { _host = host; } void set_host(const std::string& host) { _host = host; }
void set_port(int port) { _port = port; } void set_port(int port) { _port = port; }
...@@ -151,14 +153,14 @@ friend class HttpMessage; ...@@ -151,14 +153,14 @@ friend class HttpMessage;
std::string _path; std::string _path;
std::string _user_info; std::string _user_info;
std::string _fragment; std::string _fragment;
std::string _schema; std::string _scheme;
mutable std::string _query; mutable std::string _query;
mutable QueryMap _query_map; mutable QueryMap _query_map;
}; };
// Parse host/port/schema from `url' if the corresponding parameter is not NULL. // Parse host/port/scheme from `url' if the corresponding parameter is not NULL.
// Returns 0 on success, -1 otherwise. // Returns 0 on success, -1 otherwise.
int ParseURL(const char* url, std::string* schema, std::string* host, int* port); int ParseURL(const char* url, std::string* scheme, std::string* host, int* port);
inline void URI::SetQuery(const std::string& key, const std::string& value) { inline void URI::SetQuery(const std::string& key, const std::string& value) {
get_query_map()[key] = value; get_query_map()[key] = value;
......
...@@ -23,7 +23,7 @@ TEST(URITest, everything) { ...@@ -23,7 +23,7 @@ TEST(URITest, everything) {
brpc::URI uri; brpc::URI uri;
std::string uri_str = " foobar://user:passwd@www.baidu.com:80/s?wd=uri#frag "; std::string uri_str = " foobar://user:passwd@www.baidu.com:80/s?wd=uri#frag ";
ASSERT_EQ(0, uri.SetHttpURL(uri_str)); ASSERT_EQ(0, uri.SetHttpURL(uri_str));
ASSERT_EQ("foobar", uri.schema()); ASSERT_EQ("foobar", uri.scheme());
ASSERT_EQ(80, uri.port()); ASSERT_EQ(80, uri.port());
ASSERT_EQ("www.baidu.com", uri.host()); ASSERT_EQ("www.baidu.com", uri.host());
ASSERT_EQ("/s", uri.path()); ASSERT_EQ("/s", uri.path());
...@@ -33,11 +33,11 @@ TEST(URITest, everything) { ...@@ -33,11 +33,11 @@ TEST(URITest, everything) {
ASSERT_EQ(*uri.GetQuery("wd"), "uri"); ASSERT_EQ(*uri.GetQuery("wd"), "uri");
ASSERT_FALSE(uri.GetQuery("nonkey")); ASSERT_FALSE(uri.GetQuery("nonkey"));
std::string schema; std::string scheme;
std::string host_out; std::string host_out;
int port_out = -1; int port_out = -1;
brpc::ParseURL(uri_str.c_str(), &schema, &host_out, &port_out); brpc::ParseURL(uri_str.c_str(), &scheme, &host_out, &port_out);
ASSERT_EQ("foobar", schema); ASSERT_EQ("foobar", scheme);
ASSERT_EQ("www.baidu.com", host_out); ASSERT_EQ("www.baidu.com", host_out);
ASSERT_EQ(80, port_out); ASSERT_EQ(80, port_out);
} }
...@@ -45,7 +45,7 @@ TEST(URITest, everything) { ...@@ -45,7 +45,7 @@ TEST(URITest, everything) {
TEST(URITest, only_host) { TEST(URITest, only_host) {
brpc::URI uri; brpc::URI uri;
ASSERT_EQ(0, uri.SetHttpURL(" foo1://www.baidu1.com?wd=uri2&nonkey=22 ")); ASSERT_EQ(0, uri.SetHttpURL(" foo1://www.baidu1.com?wd=uri2&nonkey=22 "));
ASSERT_EQ("foo1", uri.schema()); ASSERT_EQ("foo1", uri.scheme());
ASSERT_EQ(-1, uri.port()); ASSERT_EQ(-1, uri.port());
ASSERT_EQ("www.baidu1.com", uri.host()); ASSERT_EQ("www.baidu1.com", uri.host());
ASSERT_EQ("", uri.path()); ASSERT_EQ("", uri.path());
...@@ -58,7 +58,7 @@ TEST(URITest, only_host) { ...@@ -58,7 +58,7 @@ TEST(URITest, only_host) {
ASSERT_EQ(*uri.GetQuery("nonkey"), "22"); ASSERT_EQ(*uri.GetQuery("nonkey"), "22");
ASSERT_EQ(0, uri.SetHttpURL("foo2://www.baidu2.com:1234?wd=uri2&nonkey=22 ")); ASSERT_EQ(0, uri.SetHttpURL("foo2://www.baidu2.com:1234?wd=uri2&nonkey=22 "));
ASSERT_EQ("foo2", uri.schema()); ASSERT_EQ("foo2", uri.scheme());
ASSERT_EQ(1234, uri.port()); ASSERT_EQ(1234, uri.port());
ASSERT_EQ("www.baidu2.com", uri.host()); ASSERT_EQ("www.baidu2.com", uri.host());
ASSERT_EQ("", uri.path()); ASSERT_EQ("", uri.path());
...@@ -71,7 +71,7 @@ TEST(URITest, only_host) { ...@@ -71,7 +71,7 @@ TEST(URITest, only_host) {
ASSERT_EQ(*uri.GetQuery("nonkey"), "22"); ASSERT_EQ(*uri.GetQuery("nonkey"), "22");
ASSERT_EQ(0, uri.SetHttpURL(" www.baidu3.com:4321 ")); ASSERT_EQ(0, uri.SetHttpURL(" www.baidu3.com:4321 "));
ASSERT_EQ("", uri.schema()); ASSERT_EQ("", uri.scheme());
ASSERT_EQ(4321, uri.port()); ASSERT_EQ(4321, uri.port());
ASSERT_EQ("www.baidu3.com", uri.host()); ASSERT_EQ("www.baidu3.com", uri.host());
ASSERT_EQ("", uri.path()); ASSERT_EQ("", uri.path());
...@@ -80,7 +80,7 @@ TEST(URITest, only_host) { ...@@ -80,7 +80,7 @@ TEST(URITest, only_host) {
ASSERT_EQ(0, uri.QueryCount()); ASSERT_EQ(0, uri.QueryCount());
ASSERT_EQ(0, uri.SetHttpURL(" www.baidu4.com ")); ASSERT_EQ(0, uri.SetHttpURL(" www.baidu4.com "));
ASSERT_EQ("", uri.schema()); ASSERT_EQ("", uri.scheme());
ASSERT_EQ(-1, uri.port()); ASSERT_EQ(-1, uri.port());
ASSERT_EQ("www.baidu4.com", uri.host()); ASSERT_EQ("www.baidu4.com", uri.host());
ASSERT_EQ("", uri.path()); ASSERT_EQ("", uri.path());
...@@ -89,10 +89,10 @@ TEST(URITest, only_host) { ...@@ -89,10 +89,10 @@ TEST(URITest, only_host) {
ASSERT_EQ(0, uri.QueryCount()); ASSERT_EQ(0, uri.QueryCount());
} }
TEST(URITest, no_schema) { TEST(URITest, no_scheme) {
brpc::URI uri; brpc::URI uri;
ASSERT_EQ(0, uri.SetHttpURL(" user:passwd2@www.baidu1.com/s?wd=uri2&nonkey=22#frag ")); ASSERT_EQ(0, uri.SetHttpURL(" user:passwd2@www.baidu1.com/s?wd=uri2&nonkey=22#frag "));
ASSERT_EQ("", uri.schema()); ASSERT_EQ("", uri.scheme());
ASSERT_EQ(-1, uri.port()); ASSERT_EQ(-1, uri.port());
ASSERT_EQ("www.baidu1.com", uri.host()); ASSERT_EQ("www.baidu1.com", uri.host());
ASSERT_EQ("/s", uri.path()); ASSERT_EQ("/s", uri.path());
...@@ -104,10 +104,10 @@ TEST(URITest, no_schema) { ...@@ -104,10 +104,10 @@ TEST(URITest, no_schema) {
ASSERT_EQ(*uri.GetQuery("nonkey"), "22"); ASSERT_EQ(*uri.GetQuery("nonkey"), "22");
} }
TEST(URITest, no_schema_and_user_info) { TEST(URITest, no_scheme_and_user_info) {
brpc::URI uri; brpc::URI uri;
ASSERT_EQ(0, uri.SetHttpURL(" www.baidu2.com/s?wd=uri2&nonkey=22#frag ")); ASSERT_EQ(0, uri.SetHttpURL(" www.baidu2.com/s?wd=uri2&nonkey=22#frag "));
ASSERT_EQ("", uri.schema()); ASSERT_EQ("", uri.scheme());
ASSERT_EQ(-1, uri.port()); ASSERT_EQ(-1, uri.port());
ASSERT_EQ("www.baidu2.com", uri.host()); ASSERT_EQ("www.baidu2.com", uri.host());
ASSERT_EQ("/s", uri.path()); ASSERT_EQ("/s", uri.path());
...@@ -122,7 +122,7 @@ TEST(URITest, no_schema_and_user_info) { ...@@ -122,7 +122,7 @@ TEST(URITest, no_schema_and_user_info) {
TEST(URITest, no_host) { TEST(URITest, no_host) {
brpc::URI uri; brpc::URI uri;
ASSERT_EQ(0, uri.SetHttpURL(" /sb?wd=uri3#frag2 ")) << uri.status(); ASSERT_EQ(0, uri.SetHttpURL(" /sb?wd=uri3#frag2 ")) << uri.status();
ASSERT_EQ("", uri.schema()); ASSERT_EQ("", uri.scheme());
ASSERT_EQ(-1, uri.port()); ASSERT_EQ(-1, uri.port());
ASSERT_EQ("", uri.host()); ASSERT_EQ("", uri.host());
ASSERT_EQ("/sb", uri.path()); ASSERT_EQ("/sb", uri.path());
...@@ -134,7 +134,7 @@ TEST(URITest, no_host) { ...@@ -134,7 +134,7 @@ TEST(URITest, no_host) {
// set_path should do as its name says. // set_path should do as its name says.
uri.set_path("/x/y/z/"); uri.set_path("/x/y/z/");
ASSERT_EQ("", uri.schema()); ASSERT_EQ("", uri.scheme());
ASSERT_EQ(-1, uri.port()); ASSERT_EQ(-1, uri.port());
ASSERT_EQ("", uri.host()); ASSERT_EQ("", uri.host());
ASSERT_EQ("/x/y/z/", uri.path()); ASSERT_EQ("/x/y/z/", uri.path());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment