La méthode Get lance la méthode HTTP pour demander une représentation de la ressource spécifiée.
L’en-tête par défaut de la requête HTTP est créé à l’aide des entrées i_sHost (obligatoire) et i_sResource. Si des informations supplémentaires doivent être ajoutées à l’en-tête, elles doivent être transmises par l’intermédiaire de l’entrée i_anyAdditionalHeader. Les données affectées à cette entrée ne sont pas vérifiées. Au niveau de l’entrée i_anyResponseBuffer, vous devez affecter une mémoire tampon de taille suffisante pour stocker l’intégralité de la réponse reçue du serveur.
La valeur renvoyée par la méthode est de type BOOL et indique si l’exécution de la méthode a abouti (TRUE) ou non (FALSE). Évaluez les messages de diagnostic de la méthode, si la valeur renvoyée est FALSE. Une erreur indiquée par ces messages n’exige aucune réinitialisation. La propriété State doit être utilisée pour obtenir l’état du traitement.
Un appel de la méthode Get n’est autorisé qu’à l’état Connected.
L’exemple ci-après montre à quoi ressemble la requête HTTP après l’appel de la méthode Get.
Appel de méthode :
sAdditionalHeader := 'Content-Type: application/json$r$nConnection: Keep-Alive';
fbHTTP.Get( i_sRessource:= 'example',
i_sHost:= 'se.com',
i_anyAdditionalHeader:= sAdditionalHeader,
i_anyResponseBuffer:= sResponse);
Requête HTTP résultante :
GET /example HTTP/1.1
Host: se.com
Content-Length: 0
Content-Type: application/json
Connection: Keep-Alive
Phase |
Description |
---|---|
1 |
État initial : Connected |
2 |
Appel de fonction |
3 |
État : SendingRequest, sinon une erreur est détectée |
4 |
État final : ResponseAvailable, sinon une erreur est détectée |
Entrée |
Type de données |
Description |
---|---|---|
i_sResource |
STRING[GPL.Gc_uiMaxLengthOfResource] |
Spécifie la ressource sur l’hôte à atteindre par la requête. |
i_sHost |
STRING[GPL.Gc_uiMaxHostSize] |
Spécifie l'adresse de l'hôte, et si nécessaire, étendue au port. |
i_anyAdditionalHeader |
ANY_STRING |
Spécifie les entrées supplémentaires à ajouter à l’en-tête de la requête HTTP. |
i_anyResponseBuffer |
ANY |
Mémoire tampon permettant de stocker la réponse du serveur. |
Sortie |
Type de données |
Description |
---|---|---|
q_xError |
BOOL |
Si cette sortie est TRUE, une erreur a été détectée. Pour plus d'informations, reportez-vous à q_etResult et q_etResultMsg. |
q_etResult |
ET_Result |
Fournit des informations de diagnostic et d'état sous la forme d'une valeur numérique. |
q_sResultMsg |
STRING[80] |
Fournit des informations de diagnostic et d'état sous la forme d'un message textuel. |