<%GLibUriFlags>

<%GLibUriFlags>

Description

Flags that describe a URI.

When parsing a URI, if you need to choose different flags based on the type of URI, you can use g_uri_peek_scheme() on the URI string to check the scheme first, and use that to decide what flags to parse it with.

Members

none

alias G_URI_FLAGS_NONE

No flags set.

parse-relaxed

alias G_URI_FLAGS_PARSE_RELAXED

Parse the URI more relaxedly than the [RFC 3986](https://tools.ietf.org/html/rfc3986) grammar specifies, fixing up or ignoring common mistakes in URIs coming from external sources. This is also needed for some obscure URI schemes where ; separates the host from the path. Don’t use this flag unless you need to.

has-password

alias G_URI_FLAGS_HAS_PASSWORD

The userinfo field may contain a password, which will be separated from the username by :.

has-auth-params

alias G_URI_FLAGS_HAS_AUTH_PARAMS

The userinfo may contain additional authentication-related parameters, which will be separated from the username and/or password by ;.

encoded

alias G_URI_FLAGS_ENCODED

When parsing a URI, this indicates that %-encoded characters in the userinfo, path, query, and fragment fields should not be decoded. (And likewise the host field if G_URI_FLAGS_NON_DNS is also set.) When building a URI, it indicates that you have already %-encoded the components, and so GUri should not do any encoding itself.

non-dns

alias G_URI_FLAGS_NON_DNS

The host component should not be assumed to be a DNS hostname or IP address (for example, for smb URIs with NetBIOS hostnames).

encoded-query

alias G_URI_FLAGS_ENCODED_QUERY

Same as G_URI_FLAGS_ENCODED, for the query field only.

encoded-path

alias G_URI_FLAGS_ENCODED_PATH

Same as G_URI_FLAGS_ENCODED, for the path only.

encoded-fragment

alias G_URI_FLAGS_ENCODED_FRAGMENT

Same as G_URI_FLAGS_ENCODED, for the fragment only.

scheme-normalize

alias G_URI_FLAGS_SCHEME_NORMALIZE

A scheme-based normalization will be applied. For example, when parsing an HTTP URI changing omitted path to / and omitted port to 80; and when building a URI, changing empty path to / and default port 80). This only supports a subset of known schemes. (Since: 2.68)