Get - Metodo

Panoramica

Tipo:

Metodo

Disponibile a partire da:

V1.0.0.0

Task

Il metodo Get inizia il metodo HTTP per richiedere una rappresentazione della risorsa specificata.

Descrizione funzionale

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.

Esempio di implementazione

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

Transizione di stato del client

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

NOTA: In caso di modifiche online mentre il blocco funzione elabora una richiesta Get, l'esecuzione viene interrotta per impedire una possibile violazione di accesso causata dall'elaborazione di indirizzi errati del puntatore.

Interfaccia

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.