# VResponse

VResponse es un objeto javascript que representa una respuesta para una petición realizada a través de web a Velneo vModApache.

theResponse se crea automáticamente para cada petición realizada, y permite acceder a la respuesta para definirla.

Con ayuda de la clase [VRequest](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vrequest), podremos obtener la información de la petición.

De esta forma podemos gestionar de forma dinámica las peticiones web en un servidor Apache con Velneo vModApache.

## Funciones

**De cabecera**

| Retorno | Función                                                    |
| ------- | ---------------------------------------------------------- |
| String  | [header](#header)( String szHeader )                       |
| Array   | [headerKeys](#headerkeys)()                                |
| void    | [setHeader](#setheader)( String szHeader, String szValue ) |

**De contenido**

| Retorno | Función                                                   |
| ------- | --------------------------------------------------------- |
| String  | [contentType](#contenttype)()                             |
| void    | [setContentType](#setcontenttype)( String szContentType ) |

**De cuerpo**

| Retorno | Función                                      |
| ------- | -------------------------------------------- |
| String  | [body](#body)()                              |
| void    | [setBody](#setbody)( String szBody )         |
| void    | [setRawBody](#setrawbody)( VByteArray body ) |

**De estado**

| Retorno | Función                                   |
| ------- | ----------------------------------------- |
| void    | [setStatus](#setstatus)( Number nStatus ) |
| Number  | [status](#status)()                       |

## Documentación de funciones

### Funciones de cabecera

#### String header( String szHeader ) <a href="#header" id="header"></a>

Devuelve el valor de una cabecera cuyo nombre indicamos como parámetro.

Parámetros:

* szHeader: cadena con el nombre de la cabecera.

#### Array headerKeys() <a href="#headerkeys" id="headerkeys"></a>

Devuelve un array de cadenas con el nombre de las cabeceras obtenidas de la respuesta.

#### void setHeader( String szHeader, String szValue ) <a href="#setheader" id="setheader"></a>

Establece un valor para la cabecera que indicamos como parámetro.

Parámetros:

* szHeader: cadena con el nombre de la cabecera cuyo valor vamos a establecer.
* szValor: cadena con el valor para la cabecera.

### Funciones de contenido

#### String contentType() <a href="#contenttype" id="contenttype"></a>

Devuelve tipo de contenido de la respuesta.

#### void setContentType( String szContentType ) <a href="#setcontenttype" id="setcontenttype"></a>

Establece para la respuesta el tipo de contenido que indicamos como parámetro.

Parámetros:

* szContentType: cadena con el tipo de parámetro que definimos para la respuesta.

### Funciones de cuerpo

#### String body() <a href="#body" id="body"></a>

Devuelve el contenido del cuerpo de la respuesta.

#### void setBody( String szBody ) <a href="#setbody" id="setbody"></a>

Establece el cuerpo de la respuesta con la cadena que indicamos como parámetro.

Parámetros:

* szBody: cadena para definir el contenido del cuerpo de la respuesta.

#### void setRawBody( VByteArray body ) <a href="#setrawbody" id="setrawbody"></a>

Establece el cuerpo de la respuesta con contenido del objeto de la clase [VByteArray](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vbytearray) que indicamos como parámetro.

Parámetros:

* body: objeto de la clase [VByteArray](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vbytearray) que incluye el binario que queremos establecer como cuerpo del envío.

### Funciones de estado

#### void setStatus( Number nStatus ) <a href="#setstatus" id="setstatus"></a>

Establece el estado de la respuesta con el valor que indicamos como parámetro.

Parámetros:

* nStatus: entero que define el estado de la respuesta.

Cuando se le pasa a Apache un status distinto del 200 **es Apache quien decide qué mensaje devolver**. En el enlace siguiente encontrarás los códigos de estado y lo que Apache devuelve:

<https://ci.apache.org/projects/httpd/trunk/doxygen/group__HTTP__Status.html>

Si quieres configurar respuestas personalizadas, además de pasar el status, hay que configurarlo también en Apache, según se indica en el siguiente enlace:

<https://httpd.apache.org/docs/2.4/es/custom-error.html>

#### Number status() <a href="#status" id="status"></a>

Devuelve el valor del estado de la respuesta.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vresponse.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
