Get - Método

Descripción general

Tipo:

Método

Disponible desde:

V1.0.0.0

G-SE-0076331.2.gif-high.gif

 

 

Tarea

El método Get inicia el método HTTP para solicitar una representación del recurso especificado.

Descripción funcional

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.

Ejemplo de implementación

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.

Interfaz

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

ET_Result

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.