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_, como HTTP_HOST. cada mensaje se convierte de su formato estándar de mayúsculas y guiones bajos a un formato de ucwords y guiones. El HTTP_ anterior se elimina de la cadena. Entonces HTTP_ACCEPT_LANGUAGE se convierte en Aceptar-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 usar getValueLine() 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 y 3.0:

<?php

$message->setProtocolVersion('1.1');