This package defines HTTP lifecycle event contracts and immutable event value objects.
LiquidRazor\HttpContracts\Include\Event\HttpLifecycleEventInterfaceLiquidRazor\HttpContracts\Include\Event\HttpRequestReceivedEventInterfaceLiquidRazor\HttpContracts\Include\Event\HttpRequestPreparedEventInterfaceLiquidRazor\HttpContracts\Include\Event\HttpRequestDtoResolvedEventInterfaceLiquidRazor\HttpContracts\Include\Event\HttpResponseDtoResolvedEventInterfaceLiquidRazor\HttpContracts\Include\Event\HttpResponsePreparedEventInterfaceLiquidRazor\HttpContracts\Include\Event\HttpResponseFinalizedEventInterface
LiquidRazor\HttpContracts\Lib\Event\HttpRequestReceivedEventLiquidRazor\HttpContracts\Lib\Event\HttpRequestPreparedEventLiquidRazor\HttpContracts\Lib\Event\HttpRequestDtoResolvedEventLiquidRazor\HttpContracts\Lib\Event\HttpResponseDtoResolvedEventLiquidRazor\HttpContracts\Lib\Event\HttpResponsePreparedEventLiquidRazor\HttpContracts\Lib\Event\HttpResponseFinalizedEvent
Each lifecycle event carries:
HttpExchangeInterface
This package uses HttpExchangeInterface for lifecycle consistency across all implemented event types.
HttpRequestReceivedEvent
HttpRequestPreparedEvent
HttpRequestDtoResolvedEvent
HttpResponseDtoResolvedEvent
HttpResponsePreparedEvent
HttpResponseFinalizedEvent
These events describe HTTP lifecycle state only.
This package does not provide:
- an event dispatcher
- a listener registry
- event discovery
- event priority rules
<?php
declare(strict_types=1);
use LiquidRazor\HttpContracts\Lib\Event\HttpRequestReceivedEvent;
use LiquidRazor\HttpContracts\Lib\Request\HttpRequest;
use LiquidRazor\HttpContracts\Lib\Transport\HttpExchange;
$event = new HttpRequestReceivedEvent(
new HttpExchange(new HttpRequest()),
);
$exchange = $event->exchange();