30 namespace web {
namespace details
40 bool validate(
const utility::string_t &encoded_string);
49 bool parse(
const utility::string_t &encoded_string, uri_components &components);
61 inline bool is_unreserved(
int c)
63 return ::utility::details::is_alnum((
char)c) || c ==
'-' || c ==
'.' || c ==
'_' || c ==
'~';
71 inline bool is_gen_delim(
int c)
73 return c ==
':' || c ==
'/' || c ==
'?' || c ==
'#' || c ==
'[' || c ==
']' || c ==
'@';
82 inline bool is_sub_delim(
int c)
107 inline bool is_reserved(
int c)
109 return is_gen_delim(c) || is_sub_delim(c);
121 inline bool is_scheme_character(
int c)
123 return ::utility::details::is_alnum((
char)c) || c ==
'+' || c ==
'-' || c ==
'.';
133 inline bool is_user_info_character(
int c)
135 return is_unreserved(c) || is_sub_delim(c) || c ==
'%' || c ==
':';
147 inline bool is_host_character(
int c)
149 return is_unreserved(c) || is_sub_delim(c) || c ==
'%' || c ==
':' || c ==
'[' || c ==
']';
162 inline bool is_authority_character(
int c)
164 return is_unreserved(c) || is_sub_delim(c) || c ==
'%' || c ==
'@' || c ==
':';
175 inline bool is_path_character(
int c)
177 return is_unreserved(c) || is_sub_delim(c) || c ==
'%' || c ==
'/' || c ==
':' || c ==
'@';
185 inline bool is_query_character(
int c)
187 return is_path_character(c) || c ==
'?';
195 inline bool is_fragment_character(
int c)
198 return is_query_character(c);
206 const utility::char_t *encoded,
207 const utility::char_t **scheme_begin,
const utility::char_t **scheme_end,
208 const utility::char_t **uinfo_begin,
const utility::char_t **uinfo_end,
209 const utility::char_t **host_begin,
const utility::char_t **host_end,
211 const utility::char_t **path_begin,
const utility::char_t **path_end,
212 const utility::char_t **query_begin,
const utility::char_t **query_end,
213 const utility::char_t **fragment_begin,
const utility::char_t **fragment_end);
The web namespace contains functionality common to multiple protocols like HTTP and WebSockets...
Definition: base_uri.h:37