Enumeration

GLibUriFlags

since: 2.66

Declaration

flags GLib.UriFlags

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.

Available since: 2.66

Members

Name Description
G_URI_FLAGS_NONE

No flags set.

G_URI_FLAGS_PARSE_RELAXED

Parse the URI more relaxedly than the RFC 3986 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.

G_URI_FLAGS_HAS_PASSWORD

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

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 ;.

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.

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).

G_URI_FLAGS_ENCODED_QUERY

Same as G_URI_FLAGS_ENCODED, for the query field only.

G_URI_FLAGS_ENCODED_PATH

Same as G_URI_FLAGS_ENCODED, for the path only.

G_URI_FLAGS_ENCODED_FRAGMENT

Same as G_URI_FLAGS_ENCODED, for the fragment only.

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)