Mensajes HTTP
La clase Mensaje proporciona una interfaz para las partes de un mensaje HTTP que son comunes a ambos. solicitudes y respuestas, incluido el cuerpo del mensaje, la versión del protocolo, las utilidades para trabajar con los encabezados y los métodos para manejar la negociación de contenido.
Esta clase es la clase principal que tanto la Request Class como la Clase de respuesta se extiende desde.
Referencia de clase
- class Higgs\HTTP\Message
- getBody()
- Devuelve:
El cuerpo del mensaje actual
- Tipo del valor devuelto:
mixto
Devuelve el cuerpo del mensaje actual, si se ha configurado alguno. Si no existe el cuerpo, devuelve nulo:
<?php echo $message->getBody();
- setBody($data)
- Parámetros:
$data (
mixed
) – El cuerpo del mensaje.
- Devuelve:
la instancia de Mensaje|Respuesta para permitir que los métodos se encadenen.
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje|Higgs\HTTP\Respuesta
Establece el cuerpo de la solicitud actual.
- appendBody($data)
- Parámetros:
$data (
mixed
) – El cuerpo del mensaje.
- Devuelve:
la instancia de Mensaje|Respuesta para permitir que los métodos se encadenen.
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje|Higgs\HTTP\Respuesta
Agrega datos al cuerpo de la solicitud actual.
- populateHeaders()
- Devuelve:
nulo
Escanea y analiza los encabezados que se encuentran en los datos del SERVIDOR y los almacena para acceder a ellos posteriormente. Esto lo utiliza Clase IncomingRequest para realizar los encabezados de la solicitud actual disponibles.
Los encabezados son cualquier dato del SERVIDOR que comience con
HTTP_
, comoHTTP_HOST
. cada mensaje se convierte de su formato estándar de mayúsculas y guiones bajos a un formato de ucwords y guiones. ElHTTP_
anterior se elimina de la cadena. EntoncesHTTP_ACCEPT_LANGUAGE
se convierte enAceptar-Idioma
.
- headers()
- Devuelve:
una matriz de todos los encabezados encontrados.
- Tipo del valor devuelto:
matriz
Devuelve una matriz de todos los encabezados encontrados o configurados previamente.
- header($name)
- Parámetros:
$name (
string
) – el nombre del encabezado cuyo valor desea recuperar.
- Devuelve:
Devuelve un único objeto de encabezado. Si existen varios encabezados con el mismo nombre, devolverá una matriz de objetos de encabezado.
- Tipo del valor devuelto:
Higgs\HTTP\Encabezado|matriz
Le permite recuperar el valor actual de un único encabezado de mensaje.
$name
es el nombre del encabezado que no distingue entre mayúsculas y minúsculas. Si bien el encabezado se convierte internamente como se describe anteriormente, puede acceder al encabezado con cualquier tipo de mayúsculas y minúsculas:<?php // These are all the same: $message->header('HOST'); $message->header('Host'); $message->header('host');
Si el encabezado tiene múltiples valores,
getValue()
regresará como una matriz de valores. Puedes usargetValueLine()
método para recuperar los valores como una cadena:<?php echo $message->header('Accept-Language'); /* * Outputs something like: * 'Accept-Language: en,en-US' */ echo $message->header('Accept-Language')->getValue(); /* * Outputs something like: * [ * 'en', * 'en-US', * ] */ echo $message->header('Accept-Language')->getValueLine(); /* * Outputs something like: * en,en-US' */
Puede filtrar el encabezado pasando un valor de filtro como segundo parámetro:
<?php $message->header('Document-URI', FILTER_SANITIZE_URL);
- hasHeader($name)
- Parámetros:
$name (
string
) – el nombre del encabezado que desea ver si existe.
- Devuelve:
Devuelve verdadero si existe, falso en caso contrario.
- Tipo del valor devuelto:
booleano
- getHeaderLine($name)
- Parámetros:
$nombre (
cadena
) – El nombre del encabezado a recuperar.
- Devuelve:
una cadena que representa el valor del encabezado.
- Tipo del valor devuelto:
cadena
Devuelve los valores del encabezado como una cadena. Este método le permite obtener fácilmente una representación de cadena. de los valores del encabezado cuando el encabezado tiene múltiples valores. Los valores están apropiadamente unidos:
<?php echo $message->getHeaderLine('Accept-Language'); /* * Outputs: * 'en,en-US' */
- setHeader($name, $value)
- Parámetros:
$name (
string
) – el nombre del encabezado para establecer el valor.$valor (
mixed
) – el valor para establecer el encabezado.
- Devuelve:
La instancia actual de Mensaje|Respuesta
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje|Higgs\HTTP\Respuesta
Establece el valor de un único encabezado.
$name
es el nombre del encabezado que no distingue entre mayúsculas y minúsculas. si el encabezado aún no existe en la colección, se creará. El$value
puede ser una cadena o una serie de cadenas:<?php $message->setHeader('Host', 'Higgs.com');
- removeHeader($name)
- Parámetros:
$nombre (
cadena
) – El nombre del encabezado a eliminar.
- Devuelve:
La instancia del mensaje actual
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje
Elimina el encabezado del mensaje.
$name
es el nombre del encabezado que no distingue entre mayúsculas y minúsculas:<?php $message->removeHeader('Host');
- appendHeader($name, $value)
- Parámetros:
$name (
string
) – El nombre del encabezado a modificar$valor (
string
) – el valor que se agregará al encabezado.
- Devuelve:
La instancia del mensaje actual
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje
Agrega un valor a un encabezado existente. El encabezado ya debe ser una matriz de valores en lugar de una sola cadena. Si es una cadena, se generará una LogicException.
<?php $message->appendHeader('Accept-Language', 'en-US; q=0.8');
- prependHeader($name, $value)
- Parámetros:
$name (
string
) – El nombre del encabezado a modificar$valor (
string
) – el valor que se antepondrá al encabezado.
- Devuelve:
La instancia del mensaje actual
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje
Antepone un valor a un encabezado existente. El encabezado ya debe ser una matriz de valores en lugar de una sola cadena. Si es una cadena, se generará una LogicException.
<?php $message->prependHeader('Accept-Language', 'en,');
- getProtocolVersion()
- Devuelve:
La versión actual del protocolo HTTP
- Tipo del valor devuelto:
cadena
Devuelve el protocolo HTTP actual del mensaje. Si no se ha configurado ninguno, devolver
1.1
.
- setProtocolVersion($version)
- Parámetros:
$version (
string
) – La versión del protocolo HTTP
- Devuelve:
La instancia del mensaje actual
- Tipo del valor devuelto:
Higgs\HTTP\Mensaje
Establece la versión del protocolo HTTP que utiliza este mensaje. Los valores válidos son
1.0
,1.1
,2.0
y3.0
:<?php $message->setProtocolVersion('1.1');