mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-22 14:48:04 +08:00
34 lines
923 B
Markdown
34 lines
923 B
Markdown
|
---
|
||
|
title: "mg_parse_uri()"
|
||
|
decl_name: "mg_parse_uri"
|
||
|
symbol_kind: "func"
|
||
|
signature: |
|
||
|
int mg_parse_uri(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.
|
||
|
|