curl_url_set: elaborate on scheme guessing

Explain a little more and refer to the CURLU_NO_GUESS_SCHEME flag
for getting scheme or URL.

Closes #14071
This commit is contained in:
Daniel Stenberg 2024-07-01 11:03:08 +02:00
parent 816ac2a866
commit babaf1cbc3
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -189,8 +189,8 @@ manner.
## CURLU_DEFAULT_SCHEME ## CURLU_DEFAULT_SCHEME
If set, allows the URL to be set without a scheme and then sets that to the If set, allows the URL to be set without a scheme and then sets that to the
default scheme: HTTPS. Overrides the *CURLU_GUESS_SCHEME* option if both default scheme: HTTPS. Overrides the *CURLU_GUESS_SCHEME* option if both are
are set. set.
## CURLU_GUESS_SCHEME ## CURLU_GUESS_SCHEME
@ -200,6 +200,14 @@ subdomain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that scheme is
used, otherwise it picks HTTP. Conflicts with the *CURLU_DEFAULT_SCHEME* used, otherwise it picks HTTP. Conflicts with the *CURLU_DEFAULT_SCHEME*
option which takes precedence if both are set. option which takes precedence if both are set.
If guessing is not allowed and there is no default scheme set, trying to parse
a URL without a scheme returns error.
If the scheme ends up set as a result of guessing, i.e. it is not actually
present in the parsed URL, it can later be figured out by using the
**CURLU_NO_GUESS_SCHEME** flag when subsequently getting the URL or the scheme
with curl_url_get(3).
## CURLU_NO_AUTHORITY ## CURLU_NO_AUTHORITY
If set, skips authority checks. The RFC allows individual schemes to omit the If set, skips authority checks. The RFC allows individual schemes to omit the