{"id":15296421,"url":"https://github.com/chillerlan/psr-7","last_synced_at":"2026-01-19T03:01:49.654Z","repository":{"id":226815640,"uuid":"769416676","full_name":"chillerlan/psr-7","owner":"chillerlan","description":"A PSR-7/PSR-17 HTTP message and factory implementation","archived":false,"fork":false,"pushed_at":"2025-07-27T14:14:11.000Z","size":337,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-30T20:18:36.007Z","etag":null,"topics":["http","http-message","php","php-library","php8","psr-17","psr-7","request","response"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chillerlan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"codemasher"}},"created_at":"2024-03-09T02:43:43.000Z","updated_at":"2025-07-27T13:59:39.000Z","dependencies_parsed_at":"2024-11-12T13:03:23.958Z","dependency_job_id":null,"html_url":"https://github.com/chillerlan/psr-7","commit_stats":null,"previous_names":["chillerlan/psr-7"],"tags_count":2,"template":false,"template_full_name":"chillerlan/php-library-template","purl":"pkg:github/chillerlan/psr-7","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chillerlan%2Fpsr-7","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chillerlan%2Fpsr-7/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chillerlan%2Fpsr-7/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chillerlan%2Fpsr-7/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chillerlan","download_url":"https://codeload.github.com/chillerlan/psr-7/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chillerlan%2Fpsr-7/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28559350,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T00:46:33.223Z","status":"online","status_checked_at":"2026-01-19T02:00:08.049Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http","http-message","php","php-library","php8","psr-17","psr-7","request","response"],"created_at":"2024-09-30T18:10:25.718Z","updated_at":"2026-01-19T03:01:49.639Z","avatar_url":"https://github.com/chillerlan.png","language":"PHP","funding_links":["https://ko-fi.com/codemasher"],"categories":[],"sub_categories":[],"readme":"# chillerlan/psr-7\n\nA [PSR-7](https://www.php-fig.org/psr/psr-7/)/[PSR-17](https://www.php-fig.org/psr/psr-17/) HTTP message and factory implementation.\n\n[![PHP Version Support][php-badge]][php]\n[![Packagist version][packagist-badge]][packagist]\n[![License][license-badge]][license]\n[![Continuous Integration][gh-action-badge]][gh-action]\n[![CodeCov][coverage-badge]][coverage]\n[![Codacy][codacy-badge]][codacy]\n[![Packagist downloads][downloads-badge]][downloads]\n\n[php-badge]: https://img.shields.io/packagist/php-v/chillerlan/psr-7?logo=php\u0026color=8892BF\u0026logoColor=fff\n[php]: https://www.php.net/supported-versions.php\n[packagist-badge]: https://img.shields.io/packagist/v/chillerlan/psr-7.svg?logo=packagist\u0026logoColor=fff\n[packagist]: https://packagist.org/packages/chillerlan/psr-7\n[license-badge]: https://img.shields.io/github/license/chillerlan/psr-7\n[license]: https://github.com/chillerlan/psr-7/blob/main/LICENSE\n[gh-action-badge]: https://img.shields.io/github/actions/workflow/status/chillerlan/psr-7/ci.yml?branch=main\u0026logo=github\u0026logoColor=fff\n[gh-action]: https://github.com/chillerlan/psr-7/actions/workflows/ci.yml?query=branch%3Amain\n[coverage-badge]: https://img.shields.io/codecov/c/github/chillerlan/psr-7.svg?logo=codecov\u0026logoColor=fff\n[coverage]: https://codecov.io/github/chillerlan/psr-7\n[codacy-badge]: https://img.shields.io/codacy/grade/3578bf36b50d49b0a1660d14ce06b54e?logo=codacy\u0026logoColor=fff\n[codacy]: https://app.codacy.com/gh/chillerlan/psr-7/dashboard\n[downloads-badge]: https://img.shields.io/packagist/dt/chillerlan/psr-7.svg?logo=packagist\u0026logoColor=fff\n[downloads]: https://packagist.org/packages/chillerlan/psr-7/stats\n\n## Overview\n\n### Features\n\n- [PSR-7](https://www.php-fig.org/psr/psr-7/) HTTP message implementation\n- [PSR-17](https://www.php-fig.org/psr/psr-17/) HTTP factory implementation\n- `MultipartStreamBuilder` based on PSR-7 `Message` objects ([RFC-2046, section 5.1](https://datatracker.ietf.org/doc/html/rfc2046#section-5.1))\n\n### Requirements\n\n- PHP 8.1+\n  - [`ext-mbstring`](https://www.php.net/manual/book.mbstring.php)\n\n\n## Documentation\n\nThe documentation of the PSR-7 interfaces can be found over at https://www.php-fig.org/psr/psr-7/.\n\n**NOTE: This library has abandoned the paranoid \"value object\" \"immuatbility\" that is dictated by PSR-7 for it is horseshit.\nThe pseudo-immutability gets in the way more often (always) than it is useful (never) and creates endless overhead.\nIf you want your objects to be immutable for whatever reason, just fucking clone them and don't force countless libraries\nto do that for you instead. If you don't like it, just use Guzzle instead (spoiler: you won't notice the difference).**\n\n\n### Auto generated API documentation\n\nThe API documentation can be auto generated with [phpDocumentor](https://www.phpdoc.org/).\nThere is an [online version available](https://chillerlan.github.io/psr-7/) via the [gh-pages branch](https://github.com/chillerlan/psr-7/tree/gh-pages) that is [automatically deployed](https://github.com/chillerlan/psr-7/deployments) on each push to main.\n\nLocally created docs will appear in `.build/phpdocs/`. If you'd like to create local docs, please follow these steps:\n\n- [download phpDocumentor](https://github.com/phpDocumentor/phpDocumentor/releases) v3+ as .phar archive\n- run it in the repository root directory:\n\t- on Windows `c:\\path\\to\\php.exe c:\\path\\to\\phpDocumentor.phar --config=phpdoc.xml`\n\t- on Linux just `php /path/to/phpDocumentor.phar --config=phpdoc.xml`\n- open [index.html](./.build/phpdocs/index.html) in a browser\n- profit!\n\n\n## Disclaimer\n\nUse at your own risk!\n\n\n## License information\n\nThis library contains portions of code (tests) from the following libraries:\n- [Guzzle PSR-7](https://github.com/guzzle/psr7) (MIT)\n- [Slim](https://github.com/slimphp/Slim) (MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchillerlan%2Fpsr-7","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchillerlan%2Fpsr-7","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchillerlan%2Fpsr-7/lists"}