Releases: effectra/http-message
Releases · effectra/http-message
Release list
v2.0.0
Added
- PHP 8.1
readonlyproperties onUploadedFile($file,$size,$error,$name,$type) andStream::$buffer finalkeyword onMessage,Response,ServerRequest,Stream,UploadedFile,Uri#[Immutable]and#[Deprecated]PHP 8 attributes inEffectra\Http\Message\AttributenamespaceResponse::withJson()— instance method for JSON responses (accepts$data,$status,$flags)Response::json()— static factory for JSON responses (accepts$data,$status,$headers,$flags)Response::html()— static factory for HTML responses withContent-Type: text/htmlResponse::emptyResponse()— static factory for empty-body responses (defaults to 204)ServerRequest::fromGlobals()— populates request from$_SERVER,$_GET,$_POST,$_COOKIE,$_FILESServerRequest::replaceHeader()— removes and re-adds header values in one callStreamconstructor now accepts file-path strings (opens viafopenif the file exists)UploadedFile::getStream()now reads from the underlying file and returns aStreamwith contents- Case-insensitive header storage:
hasHeader(),getHeader(),withHeader(),withAddedHeader(),withoutHeader(),setHeader(),AddHeader()all normalize keys to lowercase - Complete
$statusTextsmap for all standard HTTP status codes (100–511) - 196+ Pest test suite covering all classes
- PHPStan configuration (
phpstan.neon,phpstan-baseline.neon) — level 6 clean _ide_helper.phpfor enhanced IDE autocompletion
Fixed
MessageTrait::getHeader()now returnsarrayinstead of rawstringvalueMessageTrait::getHeaders()normalizes all values to arraysMessageTrait::withProtocolVersion()now clones instead of mutating in placeRequest::getRequestTarget()handles string-URI edge caseRequest::setUri()uses mutable header manipulation instead ofwith*chainResponsedefault$reasonPhrasechanged from'OK'to''— resolves from$statusTextsat runtimeResponse::getReasonPhrase()prioritises custom phrase over static listServerRequest::getServerParams()returns dedicated$serverParamsproperty (was incorrectly returning$attributes)
[0.1.0] - 2025-03-21
Added
- PSR-7
ServerRequest,Request,Response,Message,Uri,Stream,UploadedFileclasses MessageTraitfor shared message implementation- Basic request/response/URI/stream/uploaded-file functionality
- Initial test suite
- README with usage examples
v1.0.3
add setter for each var in Message/Request/Response
v1.0.2
update getServerParams/getCookieParams/withCookieParams methods