<?php
declare(strict_types=1);

namespace ROITheme\Shared\Domain\Contracts;

/**
 * Contrato para obtener datos del request HTTP
 *
 * Encapsula el acceso a $_SERVER para:
 * - Evitar acceso directo a superglobales en Infrastructure
 * - Permitir testear sin dependencia de $_SERVER
 *
 * v1.1: Nuevo - encapsular acceso a $_SERVER
 *
 * Metodos: 1 (cumple ISP < 5 metodos)
 *
 * @package ROITheme\Shared\Domain\Contracts
 */
interface ServerRequestProviderInterface
{
    /**
     * Obtiene el Request URI actual
     *
     * @return string URI del request (ej: "/blog/mi-post/")
     */
    public function getRequestUri(): string;
}
