48 lines
1.2 KiB
PHP
48 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* @package Bicycle
|
|
* @author Egor Isaev
|
|
* @description HTTP/Message.php
|
|
* @copyright (c) 04/06/2026
|
|
*/
|
|
|
|
namespace System\Classes\HTTP;
|
|
|
|
/**
|
|
* Общий контракт HTTP-сообщения (запрос/ответ).
|
|
*/
|
|
interface Message
|
|
{
|
|
/**
|
|
* Геттер/сеттер версии протокола.
|
|
*
|
|
* @param string|null $protocol Версия или null для чтения
|
|
* @return mixed
|
|
*/
|
|
public function protocol($protocol = null);
|
|
|
|
/**
|
|
* Геттер/сеттер заголовков.
|
|
*
|
|
* @param string|null $key Имя заголовка или null
|
|
* @param string|null $value Значение при записи
|
|
* @return mixed
|
|
*/
|
|
public function headers($key = null, $value = null);
|
|
|
|
/**
|
|
* Геттер/сеттер тела сообщения.
|
|
*
|
|
* @param string|null $content Тело или null для чтения
|
|
* @return mixed
|
|
*/
|
|
public function body($content = null);
|
|
|
|
/**
|
|
* Возвращает сообщение в виде строки.
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function render();
|
|
}
|