From 46502074a06d00a8c54d32fd003e626a71f7945a Mon Sep 17 00:00:00 2001 From: Sergio Brighenti Date: Mon, 16 Jan 2023 21:03:36 +0100 Subject: [PATCH] swap implementation psr7 drop direct impl call --- app/Controllers/MediaController.php | 2 +- app/Middleware/AdminMiddleware.php | 3 +- app/Middleware/AuthMiddleware.php | 5 +- composer.json | 4 +- composer.lock | 306 ++++++++++++++++++++-------- 5 files changed, 228 insertions(+), 92 deletions(-) diff --git a/app/Controllers/MediaController.php b/app/Controllers/MediaController.php index 67e53b0..db2e12b 100644 --- a/app/Controllers/MediaController.php +++ b/app/Controllers/MediaController.php @@ -4,7 +4,6 @@ namespace App\Controllers; use App\Database\Repositories\UserRepository; use App\Web\UA; -use GuzzleHttp\Psr7\Stream; use Intervention\Image\Constraint; use Intervention\Image\ImageManagerStatic as Image; use League\Flysystem\FileNotFoundException; @@ -14,6 +13,7 @@ use Psr\Http\Message\ServerRequestInterface as Request; use Slim\Exception\HttpBadRequestException; use Slim\Exception\HttpNotFoundException; use Slim\Exception\HttpUnauthorizedException; +use Slim\Psr7\Stream; class MediaController extends Controller { diff --git a/app/Middleware/AdminMiddleware.php b/app/Middleware/AdminMiddleware.php index 7ae07c1..64f0352 100644 --- a/app/Middleware/AdminMiddleware.php +++ b/app/Middleware/AdminMiddleware.php @@ -2,7 +2,6 @@ namespace App\Middleware; -use GuzzleHttp\Psr7\Response; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface as RequestHandler; @@ -16,7 +15,7 @@ class AdminMiddleware extends Middleware * * @throws HttpUnauthorizedException * - * @return Response + * @return ResponseInterface */ public function __invoke(Request $request, RequestHandler $handler): ResponseInterface { diff --git a/app/Middleware/AuthMiddleware.php b/app/Middleware/AuthMiddleware.php index 1eaa987..4911a7a 100644 --- a/app/Middleware/AuthMiddleware.php +++ b/app/Middleware/AuthMiddleware.php @@ -2,7 +2,6 @@ namespace App\Middleware; -use GuzzleHttp\Psr7\Response; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\RequestHandlerInterface as RequestHandler; @@ -20,14 +19,14 @@ class AuthMiddleware extends Middleware if (!$this->session->get('logged', false)) { $this->session->set('redirectTo', (string) $request->getUri()->getPath()); - return redirect(new Response(), route('login.show')); + return redirect($this->container->get(ResponseInterface::class), route('login.show')); } if (!$this->database->query('SELECT `id`, `active` FROM `users` WHERE `id` = ? LIMIT 1', [$this->session->get('user_id')])->fetch()->active) { $this->session->alert(lang('account_disabled'), 'danger'); $this->session->set('logged', false); - return redirect(new Response(), route('login.show')); + return redirect($this->container->get(ResponseInterface::class), route('login.show')); } return $handler->handle($request); diff --git a/composer.json b/composer.json index 379d536..6bdfd18 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "sergix44/xbackbone", "license": "AGPL-3.0-only", - "version": "3.6.1", + "version": "3.6.2", "description": "A lightweight ShareX PHP backend", "type": "project", "require": { @@ -13,7 +13,6 @@ "ext-pdo": "*", "ext-zip": "*", "erusev/parsedown": "^1.7", - "guzzlehttp/psr7": "^1.9.0", "intervention/image": "^2.6", "league/flysystem": "^1.1.4", "league/flysystem-aws-s3-v3": "^1.0", @@ -23,6 +22,7 @@ "monolog/monolog": "^1.23", "php-di/slim-bridge": "^3.0", "sapphirecat/slim4-http-interop-adapter": "^1.0", + "slim/psr7": "^1.5", "slim/slim": "^4.0", "spatie/flysystem-dropbox": "^1.0", "superbalist/flysystem-google-storage": "^7.2", diff --git a/composer.lock b/composer.lock index 9c43e00..95f0481 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "abfb80f7070ee203772122299814b069", + "content-hash": "248d7f6172d826fe994988fce521e031", "packages": [ { "name": "aws/aws-crt-php", @@ -200,6 +200,62 @@ }, "time": "2019-12-30T22:54:17+00:00" }, + { + "name": "fig/http-message-util", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message-util.git", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "suggest": { + "psr/http-message": "The package containing the PSR-7 interfaces" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Utility classes and constants for use with PSR-7 (psr/http-message)", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "issues": "https://github.com/php-fig/http-message-util/issues", + "source": "https://github.com/php-fig/http-message-util/tree/1.1.5" + }, + "time": "2020-11-24T22:02:12+00:00" + }, { "name": "firebase/php-jwt", "version": "v6.3.2", @@ -2614,6 +2670,88 @@ }, "time": "2023-01-14T00:38:23+00:00" }, + { + "name": "slim/psr7", + "version": "1.5", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim-Psr7.git", + "reference": "a47b43a8da7c0208b4c228af0cb29ea36080635a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim-Psr7/zipball/a47b43a8da7c0208b4c228af0cb29ea36080635a", + "reference": "a47b43a8da7c0208b4c228af0cb29ea36080635a", + "shasum": "" + }, + "require": { + "fig/http-message-util": "^1.1.5", + "php": "^7.3 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0", + "symfony/polyfill-php80": "^1.23" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "adriansuter/php-autoload-override": "^1.2", + "ext-json": "*", + "http-interop/http-factory-tests": "^0.9.0", + "php-http/psr7-integration-tests": "dev-master", + "phpspec/prophecy": "^1.14", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/phpstan": "^0.12.99", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "^3.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\Psr7\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "http://joshlockhart.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "http://silentworks.co.uk" + }, + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "http://akrabat.com" + }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "http://www.lgse.com" + } + ], + "description": "Strict PSR-7 implementation", + "homepage": "https://www.slimframework.com", + "keywords": [ + "http", + "psr-7", + "psr7" + ], + "support": { + "issues": "https://github.com/slimphp/Slim-Psr7/issues", + "source": "https://github.com/slimphp/Slim-Psr7/tree/1.5" + }, + "time": "2021-09-22T04:33:00+00:00" + }, { "name": "slim/slim", "version": "4.9.0", @@ -3217,6 +3355,89 @@ ], "time": "2022-11-03T14:55:06+00:00" }, + { + "name": "symfony/polyfill-php80", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, { "name": "twig/twig", "version": "v2.15.4", @@ -6758,89 +6979,6 @@ ], "time": "2022-11-03T14:55:06+00:00" }, - { - "name": "symfony/polyfill-php80", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, { "name": "symfony/service-contracts", "version": "v2.5.2",