= nng_url(5) // // Copyright 2020 Staysail Systems, Inc. // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_url - Universal Resource Locator object == SYNOPSIS [source, c] ---- #include typedef struct nng_url { char *u_rawurl; char *u_scheme; char *u_userinfo; char *u_host; char *u_hostname; char *u_port; char *u_path; char *u_query; char *u_fragment; char *u_requri; } nng_url; ---- == DESCRIPTION (((URL)))(((address, socket))) An `nng_url` is a structure used for representing URLs. These structures are created by parsing string formatted URLs with xref:nng_url_parse.3.adoc[`nng_url_parse()`]. Applications may access individual fields, but must not free or alter them, as the underlying memory is managed by the library. The fields are as follows: [horizontal] `u_rawurl`:: The unparsed URL string. This will never be `NULL`. `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 empty 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 (path[?query][#fragment]). 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. TIP: More information about Universal Resource Locators can be found in https://tools.ietf.org/html/rfc3986[RFC 3986]. == SEE ALSO [.text-left] xref:nng_url_clone.3.adoc[nng_url_clone(3)], xref:nng_url_free.3.adoc[nng_url_free(3)], xref:nng_url_parse.3.adoc[nng_url_parse(3)], xref:nng.7.adoc[nng(7)]