PHPackages                             liquidrazor/http-contracts - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. liquidrazor/http-contracts

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

liquidrazor/http-contracts
==========================

HTTP transport contracts and immutable scaffold implementations for LiquidRazor Framework.

v0.1.1(4w ago)02↓100%1MITPHPPHP ^8.3

Since May 11Pushed 4w agoCompare

[ Source](https://github.com/LiquidRazor/HTTPContracts)[ Packagist](https://packagist.org/packages/liquidrazor/http-contracts)[ RSS](/packages/liquidrazor-http-contracts/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (3)Versions (3)Used By (1)

LiquidRazor HTTP Contracts
==========================

[](#liquidrazor-http-contracts)

`liquidrazor/http-contracts` defines the HTTP transport vocabulary for the LiquidRazor Framework.

It provides HTTP request and response contracts, immutable scaffold implementations, concrete HTTP implementations of `liquidrazor/transport-contracts`, request-body parameter bag scaffolding, optional DTO gateway contracts/defaults, immutable HTTP exchange state, and HTTP lifecycle event contracts/value objects.

It does not implement an HTTP kernel or runtime.

Table of Contents
-----------------

[](#table-of-contents)

- [Purpose](#purpose)
- [Architectural Position](#architectural-position)
- [Implemented Surface](#implemented-surface)
- [Not Implemented](#not-implemented)
- [Request and Response](#request-and-response)
- [Request Body](#request-body)
- [Transport Integration](#transport-integration)
- [DTO Gateway](#dto-gateway)
- [HTTP Exchange](#http-exchange)
- [Lifecycle Events](#lifecycle-events)
- [Directory Layout](#directory-layout)
- [Focused Docs](#focused-docs)
- [License](#license)

Purpose
-------

[](#purpose)

This package describes HTTP-shaped input and output for LiquidRazor. It provides stable HTTP contracts and small immutable defaults without taking ownership of request execution.

Architectural Position
----------------------

[](#architectural-position)

This package sits on top of `liquidrazor/transport-contracts` and supplies the HTTP-specific payload model used by future HTTP runtime layers.

Current mapping:

```
HttpRequestInterface
  -> HttpTransportInput
  -> TransportInputInterface

HttpResponseInterface
  -> HttpTransportOutput
  -> TransportOutputInterface

```

Implemented Surface
-------------------

[](#implemented-surface)

Implemented here:

- `HttpRequestInterface` and immutable `HttpRequest`
- `HttpResponseInterface` and immutable `HttpResponse`
- `RequestBodyInterface`, `RequestBodyType`, and immutable `RequestBody`
- request-side URI, header, and uploaded-file scaffolds
- response-side header and cookie scaffolds
- `HttpTransportInput`, `HttpTransportOutput`, and `HttpTransportContext`
- `HttpExchangeInterface` and immutable `HttpExchange`
- `HttpRequestDtoResolverInterface` and `HttpResponseDtoResolverInterface`
- `NullHttpRequestDtoResolver` and `NullHttpResponseDtoResolver`
- HTTP lifecycle event interfaces and immutable lifecycle event classes

Not Implemented
---------------

[](#not-implemented)

This package intentionally does not provide:

- an HTTP kernel
- routing
- controller resolution or invocation
- middleware runtime
- request capture from globals
- response emission
- SAPI adapters
- PSR bridges
- Symfony bridges
- RoadRunner bridges
- FrankenPHP bridges
- dependency injection wiring
- MicroKernel execution integration

Request and Response
--------------------

[](#request-and-response)

The request contract models an already-normalized HTTP request. The response contract models a response description ready for a later runtime or emitter layer.

Minimal example:

```
