Phred/src/Http/RequestContext.php

32 lines
731 B
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace Phred\Http;
use Psr\Http\Message\ServerRequestInterface;
/**
* Minimal request context holder for the current request during dispatch.
* DispatchMiddleware sets/clears it around controller invocation so that
* other services (e.g., response factory selector) can inspect negotiation.
*/
final class RequestContext
{
private static ?ServerRequestInterface $current = null;
public static function set(ServerRequestInterface $request): void
{
self::$current = $request;
}
public static function get(): ?ServerRequestInterface
{
return self::$current;
}
public static function clear(): void
{
self::$current = null;
}
}