< Initiation au Lua avec Scribunto
fin de la boite de navigation du chapitre


L'objet URI

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !


Librairie Uri

Nous commencerons par visualiser le contenu de cette librairie grâce au programme suivant :

local p = {}

function p.visualisation(frame)
	reponse = ""
	for index, objet in pairs(mw.uri) do
		reponse = reponse.."</br>À la clé "..index..", on trouve un objet de type : "..type(objet)
	end
	return reponse
end

return p


{{#invoke:Uri|visualisation}} nous donne :
À la clé parseQueryString, on trouve un objet de type : function
À la clé encode, on trouve un objet de type : function
À la clé fullUrl, on trouve un objet de type : function
À la clé canonicalUrl, on trouve un objet de type : function
À la clé buildQueryString, on trouve un objet de type : function
À la clé anchorEncode, on trouve un objet de type : function
À la clé validate, on trouve un objet de type : function
À la clé localUrl, on trouve un objet de type : function
À la clé decode, on trouve un objet de type : function
À la clé new, on trouve un objet de type : function


Étudions ces fonctions dans l’ordre où elles sont sorties :


mw.uri.parseQueryString

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.parseQueryString( s )

Décode une chaine correspondant à une requête en une table. Les clés qui dans la chaîne n'ont aucune value prendront la valeur false ; les clés répétées de multiples fois auront pour valeur des séquences ; les autres auront pour valeur des chaînes.


mw.uri.encode

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.encode( s, enctype )

Encode la chaîne s au format URL. Le type par défaut "QUERY" encode les espaces en utilisant "+", "PATH" les encode en utilisant "%20" et "WIKI" les encode en utilisant "_".

Notez que le format "WIKI" n’est pas entièrement réversible puisque les espaces et les underscores ("_") sont encodés de la même façon.


mw.uri.fullUrl

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.fullUrl( page, query )

Retourne un objet URI pour l'URL complet de cette page, avec une requête optionnelle string/table.


mw.uri.canonicalUrl

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.canonicalUrl( page, query )

Retourne un objet URI for the canonical url for a page, with optional query string/table.


mw.uri.buildQueryString

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.buildQueryString( table )

Encode une table en tant que chaîne de requête. Les clés doivent être des chaînes. Les valeurs peuvent être des chaînes, des nombres, des séquences ou false.


mw.uri.anchorEncode

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.anchorEncode( s )

Encode la chaîne pour être utilisée en tant que fragment MediaWiki.


mw.uri.validate

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.validate( table )

Validates the passed table (or URI object). Returns a boolean indicating whether the table was valid, and on failure a string explaining what problems were found.


mw.uri.localUrl

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.localUrl( page, query )

Retourne un objet URI for the local url for a page, with optional query string/table.


mw.uri.decode

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.decode( s, enctype )

Décode la chaîne "s". Le type par défaut "QUERY" décode les "+" en espaces, "PATH" décode les "%20" en espaces et "WIKI" décode les "_" en espaces.


mw.uri.new

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

mw.uri.new( s )

Construit un nouveau objet URI pour la chaîne ou la table passé en argument. Voir la description de l’objet URI pour les champs possibles de la table.


Objets en relation avec l’objet URI

Nous commencerons par visualiser le contenu d'un objet URI grâce au programme suivant :

local p = {}

function p.visualise(frame)
	reponse = ""
	Uri = mw.uri.new(essai)
	for index, objet in pairs(Uri) do
		reponse = reponse.."</br>À la clé "..index..", on trouve un objet de type : "..type(objet)
	end
	return reponse
end

return p


{{#invoke:Uri|visualise}} nous donne :
À la clé path, on trouve un objet de type : string
À la clé hostPort, on trouve un objet de type : string
À la clé host, on trouve un objet de type : string
À la clé validate, on trouve un objet de type : function
À la clé authority, on trouve un objet de type : string
À la clé clone, on trouve un objet de type : function
À la clé extend, on trouve un objet de type : function
À la clé parse, on trouve un objet de type : function
À la clé relativePath, on trouve un objet de type : string


Étudions ces fonctions dans l’ordre où elles sont sorties :


L'objet URI contient les champs suivants, dont certain ou tous peuvent valoir nil :

  • protocol : chaîne du protocole
  • user : nom de l'utilisateur
  • password : mot de passe
  • host : nom de la machine
  • port : numéro du port (entier)
  • path : chemin
  • query : une table comme dans mw.uri.parseQueryString
  • fragment : le fragment

Les propriétés suivantes sont également disponibles :

  • userInfo : utilisateur et mot de passe
  • hostPort : machine et numéro de port
  • authority : les deux précédents ensembles
  • queryString : version chaîne de la table de requête
  • relativePath : chemin, requête et fragment

tostring() retourne la chaîne de l'URI.

Les méthodes de l’objet URI sont :

mw.uri:parse

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

uri:parse( s )

Analyse une chaîne dans l’objet URI courant. Tout champ spécifié dans la chaîne sera remplacé dans l'objet, les champs non spécifiés gardent leur ancienne valeur.


mw.uri:clone

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

uri:clone()

Crée une copie de l’objet URI.


mw.uri:extend

Image logo indiquant un demande d'attention particulièreCette section est vide, pas assez détaillée ou incomplète. Votre aide est la bienvenue !

uri:extend( parameters )

Intègre la table parameters dans la table de requête de l'objet.


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.