El método Get inicia el método HTTP para solicitar una representación del recurso especificado.
El encabezado predeterminado de la petición HTTP se crea mediante las entradas i_sHost (obligatoria) y i_sResource. Si es necesario añadir otra información al encabezado, esta deberá transmitirse a través de la entrada i_anyAdditionalHeader. Los datos asignados a esta entrada no se comprueban. En la entrada i_anyResponseBuffer, deberá asignar un búfer con un tamaño suficiente para almacenar la respuesta entera que se reciba del servidor.
El valor de retorno del método es de tipo BOOL e indica si la ejecución del método fue correcta (TRUE) o no (FALSE). Si el valor de retorno es FALSE, evalúe los resultados de diagnóstico del método. Los errores que indiquen estos resultados no necesitan un restablecimiento. La propiedad State debe utilizarse para obtener el estado de procesamiento.
Solo se permitirá invocar el método Get en el estado Connected.
En el siguiente ejemplo, se muestra el aspecto de una petición HTTP tras la llamada del método Get.
Llamada de método:
sAdditionalHeader := 'Content-Type: application/json$r$nConnection: Keep-Alive';
fbHTTP.Get( i_sRessource:= 'example',
i_sHost:= 'se.com',
i_anyAdditionalHeader:= sAdditionalHeader,
i_anyResponseBuffer:= sResponse);
Petición HTTP resultante:
GET /example HTTP/1.1
Host: se.com
Content-Length: 0
Content-Type: application/json
Connection: Keep-Alive
Transición de estado del cliente
Fase |
Descripción |
---|---|
1 |
Estado inicial: Connected |
2 |
Llamada de función |
3 |
Estado: SendingRequest; en caso contrario, se detecta un error. |
4 |
Estado final: ResponseAvailable; en caso contrario, se detecta un error. |
NOTA: Si se realizan modificaciones online mientras el bloque de funciones procesa una petición Get, la ejecución se cancelará para evitar una posible infracción de acceso provocada por el procesamiento de direcciones de puntero erróneas.
Entrada |
Tipo de datos |
Descripción |
---|---|---|
i_sResource |
STRING[GPL.Gc_uiMaxLengthOfResource] |
Especifica el recurso del host al que accede la petición. |
i_sHost |
STRING[GPL.Gc_uiMaxHostSize] |
Especifica la dirección del host; si es necesario, se especifica también el puerto. |
i_anyAdditionalHeader |
ANY_STRING |
Especifica otras entradas que se añadirán al encabezado de la petición HTTP. |
i_anyResponseBuffer |
ANY |
Búfer destinado a almacenar la respuesta del servidor. |
Salida |
Tipo de datos |
Descripción |
---|---|---|
q_xError |
BOOL |
Si esta salida se establece en TRUE, se ha detectado un error. Para obtener información detallada, consulte q_etResult y q_etResultMsg. |
q_etResult |
Proporciona información de diagnóstico y estado en forma de valor numérico. |
|
q_sResultMsg |
STRING[80] |
Proporciona información adicional de diagnóstico y estado en forma de mensaje de texto. |