URI parsing, encoding, and manipulation.
URL provides a URI parser, encoder, and logic for merging relative URIs with base URIs. When a URI string is parsed, it is split into its constituent parts and stored in a decoded form: protocol, user, authentication mechanism, password, host, port, path, query parameters, query string, and fragment.
Field values are read directly from the struct members, but should only be written via the camel_url_set_*() accessor functions, which manage memory correctly.
to_string serialises a URL back to a string, with optional flags to hide sensitive fields such as URI parameters (e.g. camel_url_hide_params) or authentication details (e.g. camel_url_hide_auth).
new_with_base creates a new URI by resolving a relative URI string against a base URL, following all relevant RFC rules.
url_encode and url_decode handle percent-encoding (%xx escaping) of URI components.