### Enumeration

# GLib UriFlags

since: 2.66

#### Declaration

    flags GLib.UriFlags

#### Description [src]

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

`G_URI_FLAGS_NONE`

  No flags set.

  - Value: `0`
  - Available since: 2.66
`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.

  - Value: `1`
  - Available since: 2.66
`G_URI_FLAGS_HAS_PASSWORD`

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

  - Value: `2`
  - Available since: 2.66
`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 `;`.

  - Value: `4`
  - Available since: 2.66
`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.

  - Value: `8`
  - Available since: 2.66
`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).

  - Value: `16`
  - Available since: 2.66
`G_URI_FLAGS_ENCODED_QUERY`

  Same as `G_URI_FLAGS_ENCODED`, for the query field only.

  - Value: `32`
  - Available since: 2.66
`G_URI_FLAGS_ENCODED_PATH`

  Same as `G_URI_FLAGS_ENCODED`, for the path only.

  - Value: `64`
  - Available since: 2.66
`G_URI_FLAGS_ENCODED_FRAGMENT`

  Same as `G_URI_FLAGS_ENCODED`, for the fragment only.

  - Value: `128`
  - Available since: 2.66
`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).

  - Value: `256`
  - Available since: 2.66