Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Psr7 Laravel Package

nyholm/psr7

Nyholm PSR-7 is a super lightweight, strict, and fast implementation of PSR-7 with full PSR-17 factories and HTTPlug/PSR-18 compatibility. Create requests, streams, URIs, and server requests with minimal overhead.

View on GitHub
Deep Wiki
Context7
1.8.2
  • Fix deprecation warnings in PHP 8.4
1.8.1
  • Fix error handling in Stream::getContents()
1.8.0
  • Deprecate HttplugFactory, use Psr17Factory instead
  • Make depencendy on php-http/message-factory optional
1.7.0
  • Bump to PHP 7.2 minimum
  • Allow psr/http-message v2
  • Use copy-on-write for streams created from strings
1.6.1
  • Security fix: CVE-2023-29197
1.6.0

Changed

  • Seek to the begining of the string when using Stream::create()
  • Populate ServerRequest::getQueryParams() on instantiation
  • Encode reserved characters in userinfo in Uri
  • Normalize leading slashes for Uri::getPath()
  • Make Stream's constructor public
  • Add some missing type checks on arguments
1.5.1

Fixed

  • Fixed deprecations on PHP 8.1
1.5.0

Added

  • Add explicit [@return](https://github.com/return) mixed
  • Add explicit return types to HttplugFactory

Fixed

  • Improve error handling with streams
1.4.1

Fixed

  • Psr17Factory::createStreamFromFile, UploadedFile::moveTo, and UploadedFile::getStream no longer throw ValueError in PHP 8.
1.4.0

Removed

The final keyword was replaced by [@final](https://github.com/final) annotation.

1.3.2

Fixed

  • Stream::read() must not return boolean.
  • Improved exception message when using wrong HTTP status code.
1.3.1

Fixed

  • Allow installation on PHP8
1.3.0

Added

  • Make Stream::__toString() compatible with throwing exceptions on PHP 7.4.

Fixed

  • Support for UTF-8 hostnames
  • Support for numeric header names
1.2.1

Changed

  • Added .github and phpstan.neon.dist to .gitattributes.
1.2.0

Changed

  • Change minimal port number to 0 (unix socket)
  • Updated Psr17Factory::createResponse to respect the specification. If second argument is not used, a standard reason phrase. If an empty string is passed, then the reason phrase will be empty.

Fixed

  • Check for seekable on the stream resource.
  • Fixed the Response::$reason should never be null.
1.1.0

Added

  • Improved performance
  • More tests for UploadedFile and HttplugFactory

Removed

  • Dead code
1.0.1

Fixed

  • Handle fopen failing in createStreamFromFile according to PSR-7.
  • Reduce execution path to speed up performance.
  • Fixed typos.
  • Code style.
1.0.0

Added

  • Support for final PSR-17 (HTTP factories). (Psr17Factory)
  • Support for numeric header values.
  • Support for empty header values.
  • All classes are final
  • HttplugFactory that implements factory interfaces from HTTPlug.

Changed

  • ServerRequest does not extend Request.

Removed

  • The HTTPlug discovery strategy was removed since it is included in php-http/discovery 1.4.
  • UploadedFileFactory() was removed in favor for Psr17Factory.
  • ServerRequestFactory() was removed in favor for Psr17Factory.
  • StreamFactory, UriFactory, abd MessageFactory. Use HttplugFactory instead.
  • ServerRequestFactory::createServerRequestFromArray, ServerRequestFactory::createServerRequestFromArrays and ServerRequestFactory::createServerRequestFromGlobals. Please use the new nyholm/psr7-server instead.
0.3.0

Added

  • Return types.
  • Many InvalidArgumentExceptions are thrown when you use invalid arguments.
  • Integration tests for UploadedFile and ServerRequest.

Changed

  • We dropped PHP7.0 support.
  • PSR-17 factories have been marked as internal. They do not fall under our BC promise until PSR-17 is accepted.
  • UploadedFileFactory::createUploadedFile does not accept a string file path.
0.2.3

No changelog before this release

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport