bdk/http-message

PSR-7 (HttpMessage) & PSR-17 (HttpFactory) Implementations

v3.3.3 2024-10-28 14:06 UTC

This package is auto-updated.

Last update: 2024-12-17 16:00:21 UTC


README

PSR-7 (HttpMessage) & PSR-17 (HttpFactory) Implementations

Notable features

  • Ability to register per-media-type custom body parsers
  • By default the following parsers are registered
    • application/x-www-form-urlencoded - Preserves "." and space in keys
    • application/json - decoded to array
    • application/xml, text/xml parsed to SimpleXMLElement obj
  • parsedBody and queryParams preserves "." and spaces in keys
  • UploadedFile::getClientFullPath(). PHP 8.1 added a new file upload property (not included in PSR-7)
  • ServerRequestExtended interface and implementation - Extends standard server request with helpful methods

Utilities

  • ContentType: common mime-type constants
  • HttpFoundationBridge: create ServerRequest and Response from HttpFoundation request and response
  • ParseStr: PHP's parse_str(), but does not convert dots and spaces to '_' by default
  • Response:
    • emit(ResponseInterface $response) - Output response headers and body
    • codePhrase(int|string $code): string - Get standard code phrase for given HTTP status code
  • ServerRequest:
    • fromGlobals(): ServerRequestInterface
  • Stream
    • getContent(StreamInterface): string - Get stream contents without affecting pointer
  • Uri:
    • fromGlobals(): UriInterface
    • fromParsed(array): UriInterface
    • isCrossOrigin(UriInterface $uri1, UriInterface $uri2): bool
    • parseUrl(string|UriInterface): array - like php's parse_url but with bug fixes backported
    • resolve(UriInterface $base, UriInterface $rel): UriInterface - Converts the relative URI into a new URI that is resolved against the base URI.

Installation

composer require bdk/http-message

Documentation

http://bradkent.com/php/httpmessage

3 maintained versions:

Tests / Quality

Supported PHP versions Build Status Maintainability Coverage