Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
2bba50b
Initial code from laminas/laminas-diactoros with references to Psr
Marqitos Jan 7, 2026
dee491f
Add composer files
Marqitos Jan 7, 2026
4d3b413
Add composer files #1
Marqitos Jan 7, 2026
0690263
Rename `Laminas` namespace to `Rodas`
Marqitos Jan 7, 2026
5d5f118
Config PHPUnit
Marqitos Jan 8, 2026
469fe05
Config PHPUnit #2
Marqitos Jan 8, 2026
d5ea8c3
Add use for Exceptions
Marqitos Jan 8, 2026
3018126
Add test
Marqitos Jan 8, 2026
9ca3c09
Comment some test for init migration from Psr to Rodas/Psr
Marqitos Jan 8, 2026
3d642f4
Add Unit tests (PHPUnit) Workflow
Marqitos Jan 8, 2026
ecc7659
Remove Windows from matrix.operating-system
Marqitos Jan 8, 2026
25cf248
Add Unit tests (PHPUnit) Workflow #3
Marqitos Jan 8, 2026
8afc94e
Add VERSION file
Marqitos Jan 8, 2026
fe201ee
Add dependabot schedule weekly
Marqitos Jan 8, 2026
b773768
Add dependabot schedule weekly #4
Marqitos Jan 8, 2026
c28a774
rodas/psr-scaffold v2.0 migration
Marqitos Jan 8, 2026
3bd7ecf
Refactor Rodas\Psr\Http\Message\RequestInterface
Marqitos Jan 8, 2026
62c41b5
refactor Rodas\Psr\Http\Message\UriInterface
Marqitos Jan 8, 2026
57e3e92
Refactor Rodas\Psr\Http\Message\UploadedFileInterface
Marqitos Jan 8, 2026
a25e2f4
Refactor StreamFactoryInterface
Marqitos Jan 8, 2026
a7685d2
Refactor StreamInterface
Marqitos Jan 8, 2026
f36c4c0
Refactor ServerRequestFactoryInterface
Marqitos Jan 8, 2026
15ced7f
Refactor ServerRequestInterface
Marqitos Jan 8, 2026
4a25dcf
Refactor ResponseInterface
Marqitos Jan 8, 2026
42da3d1
Refactor UriInterface
Marqitos Jan 8, 2026
9945b15
Refactor UriFactoryInterface
Marqitos Jan 8, 2026
132715d
Refactor RequestInterface
Marqitos Jan 8, 2026
f6001a7
Update namespaces and file docs
Marqitos Jan 8, 2026
5d83232
Refactor StreamInterface
Marqitos Jan 8, 2026
410244b
Update PHPUnit version
Marqitos Jan 9, 2026
a1288be
Fix code
Marqitos Jan 9, 2026
2aa3ca5
Refactor tests
Marqitos Jan 9, 2026
ec91d02
Fix Code
Marqitos Jan 9, 2026
89ff700
Refactor tests
Marqitos Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/dependabot-schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "composer"
# Look for `composer.json` and `composer.lock` files in the `root` directory
directory: "/"
schedule:
interval: "weekly"
55 changes: 55 additions & 0 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI (Continuous Integration)

# Runs unit tests.

on: [push]

# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
unit-tests:
name: "Unit Tests (PHPUnit)"
# needs: ["code-coverage"]
runs-on: "${{ matrix.operating-system }}"

strategy:
fail-fast: false
matrix:
php-version:
- "8.4" # Minimum supported PHP version
- "8.5"
operating-system:
- "ubuntu-latest"
dependency-versions:
- "locked"
- "highest"

steps:
- name: "Configure Git (for Windows)"
if: ${{ matrix.operating-system == 'windows-latest' }}
run: |
git config --system core.autocrlf false
git config --system core.eol lf

- name: "Checkout repository"
uses: "actions/checkout@v5"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "${{ matrix.php-version }}"
extensions: "sodium"
coverage: "none"
ini-values: "memory_limit=-1"

- name: "Install dependencies (Composer)"
uses: "ramsey/composer-install@v3"
with:
dependency-versions: "${{ matrix.dependency-versions }}"

- name: "Run unit tests (PHPUnit)"
run: "composer test"
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# rodas-diactoros

HTTP Message implementations

> Diactoros (pronunciation: `/dɪʌktɒrɒs/`): an epithet for Hermes, meaning literally, "the messenger."

This project is based (a copy) of the code of the project [laminas/diactoros](https://github.com/laminas/laminas-diactoros).

The main difference is that it relies on and implements the `rodas/http` interfaces, instead of `psr/http-factory` and `psr/http-message`.

> `laminas-diactoros` package supercedes and replaces [phly/http](https://github.com/phly/http).
>
>
> It is a PHP package containing implementations of the
> [PSR-7 HTTP message interfaces](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-7-http-message.md)
> and [PSR-17 HTTP message factory interfaces](https://www.php-fig.org/psr/psr-17).
Expand Down
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.0
6 changes: 6 additions & 0 deletions build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*
!.gitignore
!cache
!cache/.gitkeep
!logs
!logs/.gitkeep
Empty file added build/cache/.gitkeep
Empty file.
Empty file added build/logs/.gitkeep
Empty file.
74 changes: 74 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"name": "rodas/diactoros",
"description": "HTTP Message implementations",
"type": "library",
"keywords": [
"rodas",
"http",
"psr"
],
"license": "MIT",
"authors": [
{
"name": "Marcos Porto Mariño",
"email": "php@marcospor.to"
}
],
"support": {
"source": "https://github.com/Marqitos/php-diactoros",
"issues": "https://github.com/Marqitos/php-diactoros/issues"
},
"homepage": "https://marcospor.to/repositories",
"minimum-stability": "stable",
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
},
"sort-packages": true,
"platform": {
"php": "8.4.4"
}
},
"extra": {
"laminas": {
"config-provider": "Rodas\\Diactoros\\ConfigProvider",
"module": "Rodas\\Diactoros"
}
},
"require": {
"php": "~8.4.0 || ~8.5.0",
"rodas/psr-scaffold": "^2.0"
},
"require-dev": {
"ext-curl": "*",
"ext-dom": "*",
"ext-gd": "*",
"ext-libxml": "*",
"phpunit/phpunit": "^12.5.4",
"psalm/plugin-phpunit": "^0.19.5",
"vimeo/psalm": "^6.13"
},
"provide": {
"rodas/psr-http-message-implementation": "^1.0"
},
"autoload": {
"psr-4": {
"Rodas\\Diactoros\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Rodas\\Test\\Diactoros\\": "test/"
}
},
"scripts": {
"check": [
"@cs-check",
"@test"
],
"cs-check": "phpcs",
"cs-fix": "phpcbf",
"test": "phpunit --colors=always",
"test-coverage": "phpunit --colors=always --coverage-clover clover.xml"
}
}
Loading
Loading