Bicycle/System/Classes/HTTP/Message.php
Egor Isaev b65603b4d0 dev
2026-06-23 10:44:18 +03:00

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();
}