Il metodo Get inizia il metodo HTTP per richiedere una rappresentazione della risorsa specificata.
Utilizzando gli ingressi i_sHost (obbligatorio) e i_sResource viene creata l'intestazione predefinita della richiesta HTTP. Se occorre aggiungere ulteriori informazioni all'intestazione, passarle attraverso l'ingresso i_anyAdditionalHeader. I dati assegnati a questo ingresso non vengono verificati. All'ingresso i_anyResponseBuffer, occorre assegnare un buffer di dimensione sufficiente per memorizzare l'intera risposta ricevuta dal server.
Il valore di restituzione del metodo è di tipo BOOL e indica se l'esecuzione del metodo è riuscita (TRUE) o meno (FALSE). Valutare le uscite di diagnostica del metodo, nel caso in cui il valore di restituzione sia FALSE. Non è necessario azzerare un errore indicato da queste uscite. Utilizzare la proprietà State per ottenere lo stato di elaborazione.
Una chiamata del metodo Get è consentita solo nello stato Connected.
L'esempio seguente mostra come la richiesta HTTP sia simile dopo la chiamata del metodo Get.
Chiamata del metodo:
sAdditionalHeader := 'Content-Type: application/json$r$nConnection: Keep-Alive';
fbHTTP.Get( i_sRessource:= 'example',
i_sHost:= 'se.com',
i_anyAdditionalHeader:= sAdditionalHeader,
i_anyResponseBuffer:= sResponse);
Richiesta HTTP risultante:
GET /example HTTP/1.1
Host: se.com
Content-Length: 0
Content-Type: application/json
Connection: Keep-Alive
Fase |
Descrizione |
---|---|
1 |
Stato iniziale: Connected |
2 |
Chiamata di funzione |
3 |
Stato: SendingRequest, altrimenti viene rilevato un errore |
4 |
Stato finale: ResponseAvailable, altrimenti viene rilevato un errore |
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
i_sResource |
STRING[GPL.Gc_uiMaxLengthOfResource] |
Specifica la risorsa sull'host che deve essere raggiunto dalla richiesta. |
i_sHost |
STRING[GPL.Gc_uiMaxHostSize] |
Specifica l'indirizzo dell'host e, se necessario, esteso dalla porta. |
i_anyAdditionalHeader |
ANY_STRING |
Specifica ulteriori voci da aggiungere all'intestazione della richiesta HTTP. |
i_anyResponseBuffer |
ANY |
Buffer per memorizzare la risposta dal server. |
Uscita |
Tipo di dati |
Descrizione |
---|---|---|
q_xError |
BOOL |
Se questa uscita è impostata su TRUE, è stato rilevato un errore. Per informazioni, consultare q_etResult e q_etResultMsg. |
q_etResult |
ET_Result |
Fornisce informazioni su stato e diagnostica come valore numerico. |
q_sResultMsg |
STRING[80] |
Fornisce ulteriori informazioni su stato e diagnostica come messaggio di testo. |