mongoose/docs/c-api/uri.h/mg_parse_uri.md
Deomid Ryabkov 83fe5a17f3 Make mg_connect_{http,ws} use mg_parse_uri
Remove the specialized URI parser, clean up code a bit.

Fix parsing of URIs with IPv6 hosts (http://[2001:2:3::4]:567/)

PUBLISHED_FROM=968ad97585d928123106ce3828920ee073113f83
2017-04-24 14:59:52 +00:00

929 B

title decl_name symbol_kind signature
mg_parse_uri() mg_parse_uri func int mg_parse_uri(const struct mg_str uri, struct mg_str *scheme, struct mg_str *user_info, struct mg_str *host, unsigned int *port, struct mg_str *path, struct mg_str *query, struct mg_str *fragment);

Parses an URI and fills string chunks with locations of the respective uri components within the input uri string. NULL pointers will be ignored.

General syntax:

[scheme://[user_info@]]host[:port][/path][?query][#fragment]

Example:

foo.com:80
tcp://foo.com:1234
http://foo.com:80/bar?baz=1
https://user:pw@foo.com:443/blah

path will include the leading slash. query won't include the leading ?. host can contain embedded colons if surrounded by square brackets in order to support IPv6 literal addresses.

Returns 0 on success, -1 on error.