MCPcopy Create free account
hub / github.com/apache/brpc / is_valid_char

Function is_valid_char

src/brpc/uri.cpp:107–115  ·  view source on GitHub ↗

valid characters in URL https://datatracker.ietf.org/doc/html/rfc3986#section-2.1 https://datatracker.ietf.org/doc/html/rfc3986#section-2.3 https://datatracker.ietf.org/doc/html/rfc3986#section-2.4 space is not allowed by rfc3986, but allowed by brpc

Source from the content-addressed store, hash-verified

105// https://datatracker.ietf.org/doc/html/rfc3986#section-2.4
106// space is not allowed by rfc3986, but allowed by brpc
107static bool is_valid_char(char c) {
108 static const std::unordered_set<char> other_valid_char = {
109 ':', '/', '?', '#', '[', ']', '@', '!', '$', '&',
110 '\'', '(', ')', '*', '+', ',', ';', '=', '-', '.',
111 '_', '~', '%', ' '
112 };
113
114 return (isalnum(c) || other_valid_char.count(c));
115}
116
117static bool is_all_spaces(const char* p) {
118 for (; *p == ' '; ++p) {}

Callers 1

SetHttpURLMethod · 0.85

Calls 1

countMethod · 0.45

Tested by

no test coverage detected