diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-11-18 01:17:24 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-11-18 08:33:05 -0800 |
| commit | ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968 (patch) | |
| tree | d69a9af2e88c9bf5bc0d565bdd2ea975f2723d52 /docs/ref/api/url.md | |
| parent | e54e2b1a98abfdb75232a9b3218714ce34c9a34f (diff) | |
| download | nng-ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968.tar.gz nng-ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968.tar.bz2 nng-ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968.zip | |
URL refactor part 1.
This eliminates most (but not all) of the dynamic allocations
associated with URL objects. A number of convenience fields
on the URL are removed, but we are able to use common buffer
for most of the details.
Diffstat (limited to 'docs/ref/api/url.md')
| -rw-r--r-- | docs/ref/api/url.md | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/docs/ref/api/url.md b/docs/ref/api/url.md index a7fb6f35..db9f3be2 100644 --- a/docs/ref/api/url.md +++ b/docs/ref/api/url.md @@ -14,13 +14,11 @@ that are not part of the IETF standards. typedef struct nng_url { const char *u_scheme; char *u_userinfo; - char *u_host; char *u_hostname; uint16_t u_port; char *u_path; char *u_query; char *u_fragment; - char *u_requri; } nng_url; ``` @@ -29,17 +27,18 @@ typedef struct nng_url { Applications may access individual fields, but must not free or alter them, as the underlying memory is managed by the library. +Additionally applications must not depend on the size of this structure. +Obtain one using `nng_parse_url`. + The fields of an `nng_url` object are as follows: - `u_scheme`: The URL scheme, such as "http" or "inproc". Always lower case. This will never be `NULL`. - `u_userinfo`: This username and password if supplied in the URL string. Will be `NULL` when not present. -- `u_host`: The full host part of the URL, including the port if present (separated by a colon.) - `u_hostname`: The name of the host, and may be the empty string in some cases. - `u_port`: The port. May be zero if irrelevant or not specified. - `u_path`: The path, typically used with HTTP or WebSockets. Will be empty string if not specified. - `u_query`: The query info (typically following `?` in the URL.) Will be `NULL` if not present. - `u_fragment`: This is used for specifying an anchor, the part after `#` in a URL. Will be `NULL` if not present. -- `u_requri`: The full Request-URI. Will be the empty string if not specified. > [!NOTE] > Other fields may also be present, but only those documented here are safe for application use. |
