Partager via


uri, classe

Implémentation d'uri flexible et indépendante du protocole. Les instances d'URI sont immuables. L'interrogation des différents champs sur un uri vide retourne des chaînes vides. L'interrogation de différents membres de diagnostics sur un uri vide retourne la valeur false.

Avertissement

Cette rubrique contient des informations pour le Kit de développement logiciel (SDK) C++ REST 1.0 (nom de code « Casablanca »).Si vous utilisez une version plus récente provenant de la page web Codeplex Casablanca, consultez la documentation locale qui se trouve à l'adresse http://casablanca.codeplex.com/documentation.

class uri;

Membres

Classes publiques

Nom

Description

uri::components, classe

Les différents composants d'un URI. Cette énumération est utilisée pour indiquer le composant URI qui est encodé à l'encode_uri_component. Elle permet l'exécution d'un encodage spécifique. Le schéma et le port ne prennent pas en charge '%', il est donc inutile de les encoder.

Constructeurs publics

Nom

Description

uri::uri, constructeur

Surchargé. Crée un uri vide.

Méthodes publiques

Nom

Description

uri::authority, méthode

Crée un objet uri avec la même partie d'autorité que celui-ci, en omettant les parties ressource et requête.

uri::decode, méthode

Décode une chaîne encodée.

uri::encode_data_string, méthode

Encode une chaîne en convertissant tous les caractères, à l'exception des caractères non réservés de la RFC 3986, en leur représentation hexadécimale.

uri::encode_uri, méthode

Encode un composant URI conformément à la RFC 3986. Si un URI complet est spécifié à la place d'un composant URI individuel, tous les caractères ne figurant pas dans le jeu de caractères non réservés sont ignorés.

uri::fragment, méthode

Obtient le composant de fragment de l'URI sous la forme d'une chaîne encodée.

uri::has_same_authority, méthode

Retourne une valeur si l'autre uri possède la même autorité que celui-ci.

uri::host, méthode

Obtient le composant d'hôte de l'URI sous la forme d'une chaîne encodée.

uri::is_authority, méthode

Un uri d'« autorité » est un uri comprenant uniquement un schéma, un userinfo facultatif, un nom d'hôte et un port (facultatif).

uri::is_empty, méthode

Un uri vide n'indique aucun composant et sert de valeur par défaut.

uri::is_host_loopback, méthode

Un URI de bouclage fait référence à un nom d'hôte ou à une adresse IP n'ayant une signification que sur l'ordinateur local.

uri::is_host_portable, méthode

Un URI portable est un uri avec un nom d'hôte pouvant être résolu de façon globale (utilisé à partir d'un autre ordinateur).

uri::is_host_wildcard, méthode

Un caractère générique URI est celui qui fait référence à tous les noms d'hôte se résolvant sur l'ordinateur local (à l'aide d'une * ou d'un +)

uri::is_path_empty, méthode

Retourne une valeur si la partie de chemin d'accès de cet uri est vide.

uri::is_port_default, méthode

uri::path, méthode

Obtient le composant de chemin d'accès de l'URI sous la forme d'une chaîne encodée.

uri::port, méthode

Obtient le composant de port de l'URI. Retourne -1 si aucun port n'est spécifié.

uri::query, méthode

Obtient le composant de requête de l'URI sous la forme d'une chaîne encodée.

uri::resource, méthode

Obtient le chemin d'accès, la requête et la partie fragment de cet uri, qui peut être vide.

uri::scheme, méthode

Obtient le composant de schéma de l'URI sous la forme d'une chaîne encodée.

uri::split_path, méthode

Scinde un chemin d'accès en ses composants hiérarchiques.

uri::split_query, méthode

Scinde une requête en ses composants clé-valeur.

uri::to_string, méthode

Retourne l'uri (encodé) complet sous forme de chaîne.

uri::user_info, méthode

Obtient le composant d'informations utilisateur de l'URI sous la forme d'une chaîne encodée.

uri::validate, méthode

Valide une chaîne en tant qu'uri.

Opérateurs publics

Nom

Description

uri::operator!=, opérateur

uri::operator<, opérateur

uri::operator==, opérateur

Notes

Cette implémentation accepte les uri ('https://msn.com/path') et les références s'y rapportant ('/path?query#frag'). Cette implémentation ne fournit aucune gestion spécifique au schéma (par exemple, 'http://path1/path'. Il s'agit d'un uri valide, mais pas d'un uri http valide : autrement dit, sa syntaxe est correcte mais elle ne remplit pas les conditions du schéma http (http nécessite un hôte). Cela serait possible en autorisant une classe de stratégie 'scheme' enfichable, qui pourrait offrir une fonctionnalité supplémentaire pour la validation et la canonicalisation d'un uri en fonction du schéma et introduire une couche de sécurité de type pour les uri de différents schémas, et donc une sémantique différente. La comparaison d'égalité pose problème pour l'implémentation d'une fonctionnalité d'uri indépendante du schéma. Par exemple, ces uri sont considérés comme suit : 'https://msn.com', 'https://msn.com:80'. Autrement dit, le port « par défaut » peut être omis ou explicite. Nous n'avons aucun moyen de mapper un schéma à son port par défaut, nous ne pouvons donc pas savoir qu'ils sont similaires. Il s'agit d'une seule classe de problèmes liée au comportement spécifique au schéma.

Configuration requise

En-tête : base_uri.h

Espace de noms : web::http

Voir aussi

Référence

web::http, espace de noms