From 3b14c33e5db442527eeabea83dde3ea16203beaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=A8=E6=A0=88=E5=B0=8F=E5=AD=A6=E7=94=9F?= <1518079521@qq.com> Date: Sat, 12 Aug 2023 16:08:19 +0800 Subject: [PATCH] update niucloud --- .../vendor/composer/autoload_namespaces.php | 1 - niucloud/vendor/composer/autoload_static.php | 5 -- niucloud/vendor/composer/installed.json | 68 +++++++-------- niucloud/vendor/composer/installed.php | 34 ++++---- niucloud/vendor/guzzlehttp/psr7/CHANGELOG.md | 17 +++- niucloud/vendor/guzzlehttp/psr7/README.md | 24 +++--- .../guzzlehttp/psr7/src/AppendStream.php | 6 +- .../vendor/guzzlehttp/psr7/src/FnStream.php | 7 +- .../vendor/guzzlehttp/psr7/src/Header.php | 2 +- .../guzzlehttp/psr7/src/HttpFactory.php | 8 +- .../guzzlehttp/psr7/src/InflateStream.php | 6 +- .../vendor/guzzlehttp/psr7/src/Message.php | 24 +++--- .../guzzlehttp/psr7/src/MessageTrait.php | 8 +- .../vendor/guzzlehttp/psr7/src/MimeType.php | 34 ++++++-- .../guzzlehttp/psr7/src/MultipartStream.php | 8 +- .../vendor/guzzlehttp/psr7/src/PumpStream.php | 2 + niucloud/vendor/guzzlehttp/psr7/src/Query.php | 4 +- .../vendor/guzzlehttp/psr7/src/Request.php | 6 +- .../vendor/guzzlehttp/psr7/src/Response.php | 1 + .../vendor/guzzlehttp/psr7/src/Rfc7230.php | 2 +- .../guzzlehttp/psr7/src/ServerRequest.php | 10 +-- .../vendor/guzzlehttp/psr7/src/Stream.php | 9 +- .../psr7/src/StreamDecoratorTrait.php | 3 + .../guzzlehttp/psr7/src/StreamWrapper.php | 60 +++++++------- niucloud/vendor/guzzlehttp/psr7/src/Uri.php | 51 ++++++------ .../guzzlehttp/psr7/src/UriNormalizer.php | 6 +- .../guzzlehttp/psr7/src/UriResolver.php | 14 ++-- niucloud/vendor/guzzlehttp/psr7/src/Utils.php | 8 +- .../laravel/serializable-closure/README.md | 6 +- .../src/SerializableClosure.php | 11 +++ .../src/Serializers/Native.php | 5 +- .../src/Support/ReflectionClosure.php | 5 +- .../src/UnsignedSerializableClosure.php | 82 +++++++++++++++++++ niucloud/vendor/monolog/monolog/CHANGELOG.md | 4 + .../monolog/monolog/src/Monolog/Logger.php | 36 ++++++++ .../socialite/src/Providers/Linkedin.php | 21 ++--- niucloud/vendor/services.php | 2 +- .../cache/Adapter/DoctrineDbalAdapter.php | 62 ++++++++++---- .../symfony/cache/Traits/RedisTrait.php | 5 ++ .../think-cron/src/cron/Scheduler.php | 15 ++-- .../yunwuxin/think-cron/src/cron/Task.php | 9 +- .../think-cron/src/cron/command/Schedule.php | 3 +- 42 files changed, 451 insertions(+), 243 deletions(-) create mode 100644 niucloud/vendor/laravel/serializable-closure/src/UnsignedSerializableClosure.php diff --git a/niucloud/vendor/composer/autoload_namespaces.php b/niucloud/vendor/composer/autoload_namespaces.php index 0fb2bbd39..be11dd8ff 100644 --- a/niucloud/vendor/composer/autoload_namespaces.php +++ b/niucloud/vendor/composer/autoload_namespaces.php @@ -8,5 +8,4 @@ $baseDir = dirname($vendorDir); return array( 'Pimple' => array($vendorDir . '/pimple/pimple/src'), 'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'), - '' => array($baseDir . '/extend'), ); diff --git a/niucloud/vendor/composer/autoload_static.php b/niucloud/vendor/composer/autoload_static.php index 3154f0af1..e70698e83 100644 --- a/niucloud/vendor/composer/autoload_static.php +++ b/niucloud/vendor/composer/autoload_static.php @@ -486,10 +486,6 @@ class ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e ), ); - public static $fallbackDirsPsr0 = array ( - 0 => __DIR__ . '/../..' . '/extend', - ); - public static $classMap = array ( 'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', @@ -508,7 +504,6 @@ class ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e $loader->prefixLengthsPsr4 = ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e::$prefixLengthsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e::$prefixDirsPsr4; $loader->prefixesPsr0 = ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e::$prefixesPsr0; - $loader->fallbackDirsPsr0 = ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e::$fallbackDirsPsr0; $loader->classMap = ComposerStaticInitf082efa3600aae2b847c3e8b4e641a4e::$classMap; }, null, ClassLoader::class); diff --git a/niucloud/vendor/composer/installed.json b/niucloud/vendor/composer/installed.json index 49e0580d5..dc8a0f95a 100644 --- a/niucloud/vendor/composer/installed.json +++ b/niucloud/vendor/composer/installed.json @@ -1032,17 +1032,17 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.5.0", - "version_normalized": "2.5.0.0", + "version": "2.6.0", + "version_normalized": "2.6.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6" + "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/8bd7c33a0734ae1c5d074360512beb716bef3f77", + "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77", "shasum": "", "mirrors": [ { @@ -1069,7 +1069,7 @@ "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, - "time": "2023-04-17T16:11:26+00:00", + "time": "2023-08-03T15:06:02+00:00", "type": "library", "extra": { "bamarni-bin": { @@ -1137,7 +1137,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.5.0" + "source": "https://github.com/guzzle/psr7/tree/2.6.0" }, "funding": [ { @@ -1398,17 +1398,17 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.2.2", - "version_normalized": "1.2.2.0", + "version": "v1.3.1", + "version_normalized": "1.3.1.0", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae" + "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae", - "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902", + "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902", "shasum": "", "mirrors": [ { @@ -1426,7 +1426,7 @@ "phpstan/phpstan": "^1.8.2", "symfony/var-dumper": "^5.4.11" }, - "time": "2022-09-08T13:45:54+00:00", + "time": "2023-07-14T13:56:28+00:00", "type": "library", "extra": { "branch-alias": { @@ -1679,17 +1679,17 @@ }, { "name": "monolog/monolog", - "version": "2.9.0", - "version_normalized": "2.9.0.0", + "version": "2.9.1", + "version_normalized": "2.9.1.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb" + "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb", - "reference": "e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1", + "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1", "shasum": "", "mirrors": [ { @@ -1741,7 +1741,7 @@ "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, - "time": "2023-02-05T13:07:32+00:00", + "time": "2023-02-06T13:44:46+00:00", "type": "library", "extra": { "branch-alias": { @@ -1774,7 +1774,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.0" + "source": "https://github.com/Seldaek/monolog/tree/2.9.1" }, "funding": [ { @@ -2040,17 +2040,17 @@ }, { "name": "overtrue/socialite", - "version": "4.8.0", - "version_normalized": "4.8.0.0", + "version": "4.8.1", + "version_normalized": "4.8.1.0", "source": { "type": "git", "url": "https://github.com/overtrue/socialite.git", - "reference": "e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a" + "reference": "470b781f288fbb24c8b105cfdada215d83d84d4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/overtrue/socialite/zipball/e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a", - "reference": "e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a", + "url": "https://api.github.com/repos/overtrue/socialite/zipball/470b781f288fbb24c8b105cfdada215d83d84d4b", + "reference": "470b781f288fbb24c8b105cfdada215d83d84d4b", "shasum": "", "mirrors": [ { @@ -2074,7 +2074,7 @@ "phpstan/phpstan": "^1.7", "phpunit/phpunit": "^9.0" }, - "time": "2023-01-10T14:29:55+00:00", + "time": "2023-07-17T08:56:49+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2110,7 +2110,7 @@ ], "support": { "issues": "https://github.com/overtrue/socialite/issues", - "source": "https://github.com/overtrue/socialite/tree/4.8.0" + "source": "https://github.com/overtrue/socialite/tree/4.8.1" }, "funding": [ { @@ -3369,17 +3369,17 @@ }, { "name": "symfony/cache", - "version": "v5.4.23", - "version_normalized": "5.4.23.0", + "version": "v5.4.25", + "version_normalized": "5.4.25.0", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "983c79ff28612cdfd66d8e44e1a06e5afc87e107" + "reference": "e2013521c0f07473ae69a01fce0af78fc3ec0f23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/983c79ff28612cdfd66d8e44e1a06e5afc87e107", - "reference": "983c79ff28612cdfd66d8e44e1a06e5afc87e107", + "url": "https://api.github.com/repos/symfony/cache/zipball/e2013521c0f07473ae69a01fce0af78fc3ec0f23", + "reference": "e2013521c0f07473ae69a01fce0af78fc3ec0f23", "shasum": "", "mirrors": [ { @@ -3423,7 +3423,7 @@ "symfony/messenger": "^4.4|^5.0|^6.0", "symfony/var-dumper": "^4.4|^5.0|^6.0" }, - "time": "2023-04-21T15:38:51+00:00", + "time": "2023-06-22T08:06:06+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3455,7 +3455,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.23" + "source": "https://github.com/symfony/cache/tree/v5.4.25" }, "funding": [ { diff --git a/niucloud/vendor/composer/installed.php b/niucloud/vendor/composer/installed.php index c4d2a5419..cb935b0a8 100644 --- a/niucloud/vendor/composer/installed.php +++ b/niucloud/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'topthink/think', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'bdc0c0b0594f0eff6e5ca8d8018f125190f8ee95', + 'reference' => '46cb9e59a82446565af26a097aa185067c614ce4', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -137,9 +137,9 @@ 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( - 'pretty_version' => '2.5.0', - 'version' => '2.5.0.0', - 'reference' => 'b635f279edd83fc275f822a1188157ffea568ff6', + 'pretty_version' => '2.6.0', + 'version' => '2.6.0.0', + 'reference' => '8bd7c33a0734ae1c5d074360512beb716bef3f77', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), @@ -175,9 +175,9 @@ 'dev_requirement' => false, ), 'laravel/serializable-closure' => array( - 'pretty_version' => 'v1.2.2', - 'version' => '1.2.2.0', - 'reference' => '47afb7fae28ed29057fdca37e16a84f90cc62fae', + 'pretty_version' => 'v1.3.1', + 'version' => '1.3.1.0', + 'reference' => 'e5a3057a5591e1cfe8183034b0203921abe2c902', 'type' => 'library', 'install_path' => __DIR__ . '/../laravel/serializable-closure', 'aliases' => array(), @@ -211,9 +211,9 @@ 'dev_requirement' => false, ), 'monolog/monolog' => array( - 'pretty_version' => '2.9.0', - 'version' => '2.9.0.0', - 'reference' => 'e1c0ae1528ce313a450e5e1ad782765c4a8dd3cb', + 'pretty_version' => '2.9.1', + 'version' => '2.9.1.0', + 'reference' => 'f259e2b15fb95494c83f52d3caad003bbf5ffaa1', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), @@ -253,9 +253,9 @@ 'dev_requirement' => false, ), 'overtrue/socialite' => array( - 'pretty_version' => '4.8.0', - 'version' => '4.8.0.0', - 'reference' => 'e55fdf50f8003be8f03a85a7e5a5b7c5716f4c9a', + 'pretty_version' => '4.8.1', + 'version' => '4.8.1.0', + 'reference' => '470b781f288fbb24c8b105cfdada215d83d84d4b', 'type' => 'library', 'install_path' => __DIR__ . '/../overtrue/socialite', 'aliases' => array(), @@ -472,9 +472,9 @@ 'dev_requirement' => false, ), 'symfony/cache' => array( - 'pretty_version' => 'v5.4.23', - 'version' => '5.4.23.0', - 'reference' => '983c79ff28612cdfd66d8e44e1a06e5afc87e107', + 'pretty_version' => 'v5.4.25', + 'version' => '5.4.25.0', + 'reference' => 'e2013521c0f07473ae69a01fce0af78fc3ec0f23', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache', 'aliases' => array(), @@ -663,7 +663,7 @@ 'topthink/think' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'bdc0c0b0594f0eff6e5ca8d8018f125190f8ee95', + 'reference' => '46cb9e59a82446565af26a097aa185067c614ce4', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), diff --git a/niucloud/vendor/guzzlehttp/psr7/CHANGELOG.md b/niucloud/vendor/guzzlehttp/psr7/CHANGELOG.md index fa716c094..e841f67ff 100644 --- a/niucloud/vendor/guzzlehttp/psr7/CHANGELOG.md +++ b/niucloud/vendor/guzzlehttp/psr7/CHANGELOG.md @@ -5,7 +5,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.6.0 - 2023-08-03 + +### Changed + +- Updated the mime type map to add some new entries, fix a couple of invalid entries, and remove an invalid entry +- Fallback to `application/octet-stream` if we are unable to guess the content type for a multipart file upload + +## 2.5.1 - 2023-08-03 + +### Fixed + +- Corrected mime type for `.acc` files to `audio/aac` + +### Changed + +- PHP 8.3 support ## 2.5.0 - 2023-04-17 diff --git a/niucloud/vendor/guzzlehttp/psr7/README.md b/niucloud/vendor/guzzlehttp/psr7/README.md index 9566a7d47..a64ec9046 100644 --- a/niucloud/vendor/guzzlehttp/psr7/README.md +++ b/niucloud/vendor/guzzlehttp/psr7/README.md @@ -8,16 +8,24 @@ functionality like query string parsing. ![Static analysis](https://github.com/guzzle/psr7/workflows/Static%20analysis/badge.svg) -# Installation +## Features + +This package comes with a number of stream implementations and stream +decorators. + + +## Installation ```shell composer require guzzlehttp/psr7 ``` -# Stream implementation +## Version Guidance -This package comes with a number of stream implementations and stream -decorators. +| Version | Status | PHP Version | +|---------|---------------------|--------------| +| 1.x | Security fixes only | >=5.4,<8.1 | +| 2.x | Latest | >=7.2.5,<8.4 | ## AppendStream @@ -855,14 +863,6 @@ This of course assumes they will be resolved against the same base URI. If this equivalence or difference of relative references does not mean anything. -## Version Guidance - -| Version | Status | PHP Version | -|---------|----------------|------------------| -| 1.x | Security fixes | >=5.4,<8.1 | -| 2.x | Latest | ^7.2.5 \|\| ^8.0 | - - ## Security If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/psr7/security/policy) for more information. diff --git a/niucloud/vendor/guzzlehttp/psr7/src/AppendStream.php b/niucloud/vendor/guzzlehttp/psr7/src/AppendStream.php index cbcfaee65..8361564b0 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/AppendStream.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/AppendStream.php @@ -40,12 +40,14 @@ final class AppendStream implements StreamInterface { try { $this->rewind(); + return $this->getContents(); } catch (\Throwable $e) { if (\PHP_VERSION_ID >= 70400) { throw $e; } trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); + return ''; } } @@ -167,7 +169,7 @@ final class AppendStream implements StreamInterface $stream->rewind(); } catch (\Exception $e) { throw new \RuntimeException('Unable to seek stream ' - . $i . ' of the AppendStream', 0, $e); + .$i.' of the AppendStream', 0, $e); } } @@ -197,7 +199,7 @@ final class AppendStream implements StreamInterface if ($this->current === $total) { break; } - $this->current++; + ++$this->current; } $result = $this->streams[$this->current]->read($remaining); diff --git a/niucloud/vendor/guzzlehttp/psr7/src/FnStream.php b/niucloud/vendor/guzzlehttp/psr7/src/FnStream.php index 3a1a9512e..312b80ec7 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/FnStream.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/FnStream.php @@ -18,7 +18,7 @@ final class FnStream implements StreamInterface private const SLOTS = [ '__toString', 'close', 'detach', 'rewind', 'getSize', 'tell', 'eof', 'isSeekable', 'seek', 'isWritable', 'write', - 'isReadable', 'read', 'getContents', 'getMetadata' + 'isReadable', 'read', 'getContents', 'getMetadata', ]; /** @var array */ @@ -33,7 +33,7 @@ final class FnStream implements StreamInterface // Create the functions on the class foreach ($methods as $name => $fn) { - $this->{'_fn_' . $name} = $fn; + $this->{'_fn_'.$name} = $fn; } } @@ -45,7 +45,7 @@ final class FnStream implements StreamInterface public function __get(string $name): void { throw new \BadMethodCallException(str_replace('_fn_', '', $name) - . '() is not implemented in the FnStream'); + .'() is not implemented in the FnStream'); } /** @@ -99,6 +99,7 @@ final class FnStream implements StreamInterface throw $e; } trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); + return ''; } } diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Header.php b/niucloud/vendor/guzzlehttp/psr7/src/Header.php index 4d7005b22..6e38e0031 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Header.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Header.php @@ -89,7 +89,7 @@ final class Header $v = ''; $isQuoted = false; $isEscaped = false; - for ($i = 0, $max = \strlen($value); $i < $max; $i++) { + for ($i = 0, $max = \strlen($value); $i < $max; ++$i) { if ($isEscaped) { $v .= $value[$i]; $isEscaped = false; diff --git a/niucloud/vendor/guzzlehttp/psr7/src/HttpFactory.php b/niucloud/vendor/guzzlehttp/psr7/src/HttpFactory.php index 30be222fc..73d17e337 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/HttpFactory.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/HttpFactory.php @@ -23,13 +23,7 @@ use Psr\Http\Message\UriInterface; * Note: in consuming code it is recommended to require the implemented interfaces * and inject the instance of this class multiple times. */ -final class HttpFactory implements - RequestFactoryInterface, - ResponseFactoryInterface, - ServerRequestFactoryInterface, - StreamFactoryInterface, - UploadedFileFactoryInterface, - UriFactoryInterface +final class HttpFactory implements RequestFactoryInterface, ResponseFactoryInterface, ServerRequestFactoryInterface, StreamFactoryInterface, UploadedFileFactoryInterface, UriFactoryInterface { public function createUploadedFile( StreamInterface $stream, diff --git a/niucloud/vendor/guzzlehttp/psr7/src/InflateStream.php b/niucloud/vendor/guzzlehttp/psr7/src/InflateStream.php index 8e00f1c32..599b55da3 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/InflateStream.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/InflateStream.php @@ -13,9 +13,9 @@ use Psr\Http\Message\StreamInterface; * then appends the zlib.inflate filter. The stream is then converted back * to a Guzzle stream resource to be used as a Guzzle stream. * - * @link http://tools.ietf.org/html/rfc1950 - * @link http://tools.ietf.org/html/rfc1952 - * @link http://php.net/manual/en/filters.compression.php + * @see http://tools.ietf.org/html/rfc1950 + * @see http://tools.ietf.org/html/rfc1952 + * @see http://php.net/manual/en/filters.compression.php */ final class InflateStream implements StreamInterface { diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Message.php b/niucloud/vendor/guzzlehttp/psr7/src/Message.php index c1e15f826..9b74b8d46 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Message.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Message.php @@ -18,16 +18,16 @@ final class Message public static function toString(MessageInterface $message): string { if ($message instanceof RequestInterface) { - $msg = trim($message->getMethod() . ' ' - . $message->getRequestTarget()) - . ' HTTP/' . $message->getProtocolVersion(); + $msg = trim($message->getMethod().' ' + .$message->getRequestTarget()) + .' HTTP/'.$message->getProtocolVersion(); if (!$message->hasHeader('host')) { - $msg .= "\r\nHost: " . $message->getUri()->getHost(); + $msg .= "\r\nHost: ".$message->getUri()->getHost(); } } elseif ($message instanceof ResponseInterface) { - $msg = 'HTTP/' . $message->getProtocolVersion() . ' ' - . $message->getStatusCode() . ' ' - . $message->getReasonPhrase(); + $msg = 'HTTP/'.$message->getProtocolVersion().' ' + .$message->getStatusCode().' ' + .$message->getReasonPhrase(); } else { throw new \InvalidArgumentException('Unknown message type'); } @@ -35,14 +35,14 @@ final class Message foreach ($message->getHeaders() as $name => $values) { if (strtolower($name) === 'set-cookie') { foreach ($values as $value) { - $msg .= "\r\n{$name}: " . $value; + $msg .= "\r\n{$name}: ".$value; } } else { - $msg .= "\r\n{$name}: " . implode(', ', $values); + $msg .= "\r\n{$name}: ".implode(', ', $values); } } - return "{$msg}\r\n\r\n" . $message->getBody(); + return "{$msg}\r\n\r\n".$message->getBody(); } /** @@ -190,7 +190,7 @@ final class Message $host = $headers[reset($hostKey)][0]; $scheme = substr($host, -4) === ':443' ? 'https' : 'http'; - return $scheme . '://' . $host . '/' . ltrim($path, '/'); + return $scheme.'://'.$host.'/'.ltrim($path, '/'); } /** @@ -231,7 +231,7 @@ final class Message // between status-code and reason-phrase is required. But browsers accept // responses without space and reason as well. if (!preg_match('/^HTTP\/.* [0-9]{3}( .*|$)/', $data['start-line'])) { - throw new \InvalidArgumentException('Invalid response string: ' . $data['start-line']); + throw new \InvalidArgumentException('Invalid response string: '.$data['start-line']); } $parts = explode(' ', $data['start-line'], 3); diff --git a/niucloud/vendor/guzzlehttp/psr7/src/MessageTrait.php b/niucloud/vendor/guzzlehttp/psr7/src/MessageTrait.php index 464bdfaa4..a85d3ab25 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/MessageTrait.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/MessageTrait.php @@ -16,7 +16,7 @@ trait MessageTrait private $headers = []; /** @var array Map of lowercase header name => original name at registration */ - private $headerNames = []; + private $headerNames = []; /** @var string */ private $protocol = '1.1'; @@ -37,6 +37,7 @@ trait MessageTrait $new = clone $this; $new->protocol = $version; + return $new; } @@ -135,6 +136,7 @@ trait MessageTrait $new = clone $this; $new->stream = $body; + return $new; } @@ -224,7 +226,7 @@ trait MessageTrait )); } - if (! preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/D', $header)) { + if (!preg_match('/^[a-zA-Z0-9\'`#$%&*+.^_|~!-]+$/D', $header)) { throw new \InvalidArgumentException( sprintf('"%s" is not valid header name.', $header) ); @@ -254,7 +256,7 @@ trait MessageTrait // Clients must not send a request with line folding and a server sending folded headers is // likely very rare. Line folding is a fairly obscure feature of HTTP/1.1 and thus not accepting // folding is not likely to break any legitimate use case. - if (! preg_match('/^[\x20\x09\x21-\x7E\x80-\xFF]*$/D', $value)) { + if (!preg_match('/^[\x20\x09\x21-\x7E\x80-\xFF]*$/D', $value)) { throw new \InvalidArgumentException( sprintf('"%s" is not valid header value.', $value) ); diff --git a/niucloud/vendor/guzzlehttp/psr7/src/MimeType.php b/niucloud/vendor/guzzlehttp/psr7/src/MimeType.php index 0debbd18c..b131bdbe7 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/MimeType.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/MimeType.php @@ -18,7 +18,7 @@ final class MimeType '7zip' => 'application/x-7z-compressed', '123' => 'application/vnd.lotus-1-2-3', 'aab' => 'application/x-authorware-bin', - 'aac' => 'audio/x-acc', + 'aac' => 'audio/aac', 'aam' => 'application/x-authorware-map', 'aas' => 'application/x-authorware-seg', 'abw' => 'application/x-abiword', @@ -29,6 +29,7 @@ final class MimeType 'acu' => 'application/vnd.acucobol', 'acutc' => 'application/vnd.acucorp', 'adp' => 'audio/adpcm', + 'adts' => 'audio/aac', 'aep' => 'application/vnd.audiograph', 'afm' => 'application/x-font-type1', 'afp' => 'application/vnd.ibm.modcap', @@ -41,11 +42,16 @@ final class MimeType 'air' => 'application/vnd.adobe.air-application-installer-package+zip', 'ait' => 'application/vnd.dvb.ait', 'ami' => 'application/vnd.amiga.ami', + 'aml' => 'application/automationml-aml+xml', + 'amlx' => 'application/automationml-amlx+zip', 'amr' => 'audio/amr', 'apk' => 'application/vnd.android.package-archive', 'apng' => 'image/apng', 'appcache' => 'text/cache-manifest', + 'appinstaller' => 'application/appinstaller', 'application' => 'application/x-ms-application', + 'appx' => 'application/appx', + 'appxbundle' => 'application/appxbundle', 'apr' => 'application/vnd.lotus-approach', 'arc' => 'application/x-freearc', 'arj' => 'application/x-arj', @@ -90,6 +96,7 @@ final class MimeType 'bpk' => 'application/octet-stream', 'bpmn' => 'application/octet-stream', 'bsp' => 'model/vnd.valve.source.compiled-map', + 'btf' => 'image/prs.btif', 'btif' => 'image/prs.btif', 'buffer' => 'application/octet-stream', 'bz' => 'application/x-bzip', @@ -141,6 +148,7 @@ final class MimeType 'cjs' => 'application/node', 'cla' => 'application/vnd.claymore', 'class' => 'application/octet-stream', + 'cld' => 'model/vnd.cld', 'clkk' => 'application/vnd.crick.clicker.keyboard', 'clkp' => 'application/vnd.crick.clicker.palette', 'clkt' => 'application/vnd.crick.clicker.template', @@ -175,6 +183,7 @@ final class MimeType 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'curl' => 'text/vnd.curl', + 'cwl' => 'application/cwl', 'cww' => 'application/prs.cww', 'cxt' => 'application/x-director', 'cxx' => 'text/x-c', @@ -197,6 +206,7 @@ final class MimeType 'der' => 'application/x-x509-ca-cert', 'dfac' => 'application/vnd.dreamfactory', 'dgc' => 'application/x-dgc-compressed', + 'dib' => 'image/bmp', 'dic' => 'text/x-c', 'dir' => 'application/x-director', 'dis' => 'application/vnd.mobius.dis', @@ -219,6 +229,7 @@ final class MimeType 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dp' => 'application/vnd.osgi.dp', 'dpg' => 'application/vnd.dpgraph', + 'dpx' => 'image/dpx', 'dra' => 'audio/vnd.dra', 'drle' => 'image/dicom-rle', 'dsc' => 'text/prs.lines.tag', @@ -255,7 +266,6 @@ final class MimeType 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', - 'es' => 'application/ecmascript', 'es3' => 'application/vnd.eszigno3+xml', 'esa' => 'application/vnd.osgi.subsystem', 'esf' => 'application/vnd.epson.esf', @@ -448,6 +458,7 @@ final class MimeType 'jsonld' => 'application/ld+json', 'jsonml' => 'application/jsonml+json', 'jsx' => 'text/jsx', + 'jt' => 'model/jt', 'jxr' => 'image/jxr', 'jxra' => 'image/jxra', 'jxrs' => 'image/jxrs', @@ -552,7 +563,7 @@ final class MimeType 'mime' => 'message/rfc822', 'mj2' => 'video/mj2', 'mjp2' => 'video/mj2', - 'mjs' => 'application/javascript', + 'mjs' => 'text/javascript', 'mk3d' => 'video/x-matroska', 'mka' => 'audio/x-matroska', 'mkd' => 'text/x-markdown', @@ -602,6 +613,8 @@ final class MimeType 'msg' => 'application/vnd.ms-outlook', 'msh' => 'model/mesh', 'msi' => 'application/x-msdownload', + 'msix' => 'application/msix', + 'msixbundle' => 'application/msixbundle', 'msl' => 'application/vnd.mobius.msl', 'msm' => 'application/octet-stream', 'msp' => 'application/octet-stream', @@ -775,6 +788,8 @@ final class MimeType 'pvb' => 'application/vnd.3gpp.pic-bw-var', 'pwn' => 'application/vnd.3m.post-it-notes', 'pya' => 'audio/vnd.ms-playready.media.pya', + 'pyo' => 'model/vnd.pytha.pyox', + 'pyox' => 'model/vnd.pytha.pyox', 'pyv' => 'video/vnd.ms-playready.media.pyv', 'qam' => 'application/vnd.epson.quickanime', 'qbo' => 'application/vnd.intu.qbo', @@ -923,10 +938,12 @@ final class MimeType 'st' => 'application/vnd.sailingtracker.track', 'stc' => 'application/vnd.sun.xml.calc.template', 'std' => 'application/vnd.sun.xml.draw.template', + 'step' => 'application/STEP', 'stf' => 'application/vnd.wt.stf', 'sti' => 'application/vnd.sun.xml.impress.template', 'stk' => 'application/hyperstudio', 'stl' => 'model/stl', + 'stp' => 'application/STEP', 'stpx' => 'model/step+xml', 'stpxz' => 'model/step-xml+zip', 'stpz' => 'model/step+zip', @@ -1013,10 +1030,12 @@ final class MimeType 'ulx' => 'application/x-glulx', 'umj' => 'application/vnd.umajin', 'unityweb' => 'application/vnd.unity', + 'uo' => 'application/vnd.uoml+xml', 'uoml' => 'application/vnd.uoml+xml', 'uri' => 'text/uri-list', 'uris' => 'text/uri-list', 'urls' => 'text/uri-list', + 'usda' => 'model/vnd.usda', 'usdz' => 'model/vnd.usdz+zip', 'ustar' => 'application/x-ustar', 'utz' => 'application/vnd.uiq.theme', @@ -1096,6 +1115,7 @@ final class MimeType 'webmanifest' => 'application/manifest+json', 'webp' => 'image/webp', 'wg' => 'application/vnd.pmi.widget', + 'wgsl' => 'text/wgsl', 'wgt' => 'application/widget', 'wif' => 'application/watcherinfo+xml', 'wks' => 'application/vnd.ms-works', @@ -1150,9 +1170,10 @@ final class MimeType 'xel' => 'application/xcap-el+xml', 'xenc' => 'application/xenc+xml', 'xer' => 'application/patch-ops-error+xml', - 'xfdf' => 'application/vnd.adobe.xfdf', + 'xfdf' => 'application/xfdf', 'xfdl' => 'application/vnd.xfdl', 'xht' => 'application/xhtml+xml', + 'xhtm' => 'application/vnd.pwg-xhtml-print+xml', 'xhtml' => 'application/xhtml+xml', 'xhvml' => 'application/xv+xml', 'xif' => 'image/vnd.xiff', @@ -1183,6 +1204,7 @@ final class MimeType 'xpw' => 'application/vnd.intercon.formnet', 'xpx' => 'application/vnd.intercon.formnet', 'xsd' => 'application/xml', + 'xsf' => 'application/prs.xsf+xml', 'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml', 'xsm' => 'application/vnd.syncml+xml', @@ -1218,7 +1240,7 @@ final class MimeType /** * Determines the mimetype of a file by looking at its extension. * - * @link https://raw.githubusercontent.com/jshttp/mime-db/master/db.json + * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json */ public static function fromFilename(string $filename): ?string { @@ -1228,7 +1250,7 @@ final class MimeType /** * Maps a file extensions to a mimetype. * - * @link https://raw.githubusercontent.com/jshttp/mime-db/master/db.json + * @see https://raw.githubusercontent.com/jshttp/mime-db/master/db.json */ public static function fromExtension(string $extension): ?string { diff --git a/niucloud/vendor/guzzlehttp/psr7/src/MultipartStream.php b/niucloud/vendor/guzzlehttp/psr7/src/MultipartStream.php index 3e12b74d1..41c48eef8 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/MultipartStream.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/MultipartStream.php @@ -60,7 +60,7 @@ final class MultipartStream implements StreamInterface $str .= "{$key}: {$value}\r\n"; } - return "--{$this->boundary}\r\n" . trim($str) . "\r\n\r\n"; + return "--{$this->boundary}\r\n".trim($str)."\r\n\r\n"; } /** @@ -72,7 +72,7 @@ final class MultipartStream implements StreamInterface foreach ($elements as $element) { if (!is_array($element)) { - throw new \UnexpectedValueException("An array is expected"); + throw new \UnexpectedValueException('An array is expected'); } $this->addElement($stream, $element); } @@ -137,9 +137,7 @@ final class MultipartStream implements StreamInterface // Set a default Content-Type if one was not supplied $type = $this->getHeader($headers, 'content-type'); if (!$type && ($filename === '0' || $filename)) { - if ($type = MimeType::fromFilename($filename)) { - $headers['Content-Type'] = $type; - } + $headers['Content-Type'] = MimeType::fromFilename($filename) ?? 'application/octet-stream'; } return [$stream, $headers]; diff --git a/niucloud/vendor/guzzlehttp/psr7/src/PumpStream.php b/niucloud/vendor/guzzlehttp/psr7/src/PumpStream.php index e90389c3b..b52341d9e 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/PumpStream.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/PumpStream.php @@ -60,6 +60,7 @@ final class PumpStream implements StreamInterface throw $e; } trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); + return ''; } } @@ -169,6 +170,7 @@ final class PumpStream implements StreamInterface $data = call_user_func($this->source, $length); if ($data === false || $data === null) { $this->source = null; + return; } $this->buffer->write($data); diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Query.php b/niucloud/vendor/guzzlehttp/psr7/src/Query.php index 2faab3a88..8b9492797 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Query.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Query.php @@ -93,7 +93,7 @@ final class Query $qs .= $k; $v = is_bool($v) ? (int) $v : $v; if ($v !== null) { - $qs .= '=' . $encoder((string) $v); + $qs .= '='.$encoder((string) $v); } $qs .= '&'; } else { @@ -101,7 +101,7 @@ final class Query $qs .= $k; $vv = is_bool($vv) ? (int) $vv : $vv; if ($vv !== null) { - $qs .= '=' . $encoder((string) $vv); + $qs .= '='.$encoder((string) $vv); } $qs .= '&'; } diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Request.php b/niucloud/vendor/guzzlehttp/psr7/src/Request.php index b17af66a2..db29d95d3 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Request.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Request.php @@ -69,7 +69,7 @@ class Request implements RequestInterface $target = '/'; } if ($this->uri->getQuery() != '') { - $target .= '?' . $this->uri->getQuery(); + $target .= '?'.$this->uri->getQuery(); } return $target; @@ -85,6 +85,7 @@ class Request implements RequestInterface $new = clone $this; $new->requestTarget = $requestTarget; + return $new; } @@ -98,6 +99,7 @@ class Request implements RequestInterface $this->assertMethod($method); $new = clone $this; $new->method = strtoupper($method); + return $new; } @@ -131,7 +133,7 @@ class Request implements RequestInterface } if (($port = $this->uri->getPort()) !== null) { - $host .= ':' . $port; + $host .= ':'.$port; } if (isset($this->headerNames['host'])) { diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Response.php b/niucloud/vendor/guzzlehttp/psr7/src/Response.php index 4c6ee6f03..8fc11478b 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Response.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Response.php @@ -138,6 +138,7 @@ class Response implements ResponseInterface $reasonPhrase = self::PHRASES[$new->statusCode]; } $new->reasonPhrase = (string) $reasonPhrase; + return $new; } diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Rfc7230.php b/niucloud/vendor/guzzlehttp/psr7/src/Rfc7230.php index 30224018d..8219dba4d 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Rfc7230.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Rfc7230.php @@ -14,7 +14,7 @@ final class Rfc7230 * * Note: header delimiter (\r\n) is modified to \r?\n to accept line feed only delimiters for BC reasons. * - * @link https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15 + * @see https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15 * * @license https://github.com/amphp/http/blob/v1.0.1/LICENSE */ diff --git a/niucloud/vendor/guzzlehttp/psr7/src/ServerRequest.php b/niucloud/vendor/guzzlehttp/psr7/src/ServerRequest.php index b2aa382da..1198ff63d 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/ServerRequest.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/ServerRequest.php @@ -144,10 +144,10 @@ class ServerRequest extends Request implements ServerRequestInterface foreach (array_keys($files['tmp_name']) as $key) { $spec = [ 'tmp_name' => $files['tmp_name'][$key], - 'size' => $files['size'][$key] ?? null, - 'error' => $files['error'][$key] ?? null, - 'name' => $files['name'][$key] ?? null, - 'type' => $files['type'][$key] ?? null, + 'size' => $files['size'][$key] ?? null, + 'error' => $files['error'][$key] ?? null, + 'name' => $files['name'][$key] ?? null, + 'type' => $files['type'][$key] ?? null, ]; $normalizedFiles[$key] = self::createUploadedFileFromSpec($spec); } @@ -182,7 +182,7 @@ class ServerRequest extends Request implements ServerRequestInterface private static function extractHostAndPortFromAuthority(string $authority): array { - $uri = 'http://' . $authority; + $uri = 'http://'.$authority; $parts = parse_url($uri); if (false === $parts) { return [null, null]; diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Stream.php b/niucloud/vendor/guzzlehttp/psr7/src/Stream.php index ecd31861e..c2477fe32 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Stream.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Stream.php @@ -61,8 +61,8 @@ class Stream implements StreamInterface $this->stream = $stream; $meta = stream_get_meta_data($this->stream); $this->seekable = $meta['seekable']; - $this->readable = (bool)preg_match(self::READABLE_MODES, $meta['mode']); - $this->writable = (bool)preg_match(self::WRITABLE_MODES, $meta['mode']); + $this->readable = (bool) preg_match(self::READABLE_MODES, $meta['mode']); + $this->writable = (bool) preg_match(self::WRITABLE_MODES, $meta['mode']); $this->uri = $this->getMetadata('uri'); } @@ -80,12 +80,14 @@ class Stream implements StreamInterface if ($this->isSeekable()) { $this->seek(0); } + return $this->getContents(); } catch (\Throwable $e) { if (\PHP_VERSION_ID >= 70400) { throw $e; } trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); + return ''; } } @@ -145,6 +147,7 @@ class Stream implements StreamInterface $stats = fstat($this->stream); if (is_array($stats) && isset($stats['size'])) { $this->size = $stats['size']; + return $this->size; } @@ -207,7 +210,7 @@ class Stream implements StreamInterface } if (fseek($this->stream, $offset, $whence) === -1) { throw new \RuntimeException('Unable to seek to stream position ' - . $offset . ' with whence ' . var_export($whence, true)); + .$offset.' with whence '.var_export($whence, true)); } } diff --git a/niucloud/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php b/niucloud/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php index 56d4104d4..dfb3e4549 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php @@ -31,6 +31,7 @@ trait StreamDecoratorTrait { if ($name === 'stream') { $this->stream = $this->createStream(); + return $this->stream; } @@ -43,12 +44,14 @@ trait StreamDecoratorTrait if ($this->isSeekable()) { $this->seek(0); } + return $this->getContents(); } catch (\Throwable $e) { if (\PHP_VERSION_ID >= 70400) { throw $e; } trigger_error(sprintf('%s::__toString exception: %s', self::class, (string) $e), E_USER_ERROR); + return ''; } } diff --git a/niucloud/vendor/guzzlehttp/psr7/src/StreamWrapper.php b/niucloud/vendor/guzzlehttp/psr7/src/StreamWrapper.php index 2a9346403..b3655cb3a 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/StreamWrapper.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/StreamWrapper.php @@ -41,7 +41,7 @@ final class StreamWrapper $mode = 'w'; } else { throw new \InvalidArgumentException('The stream must be readable, ' - . 'writable, or both.'); + .'writable, or both.'); } return fopen('guzzle://stream', $mode, false, self::createStreamContext($stream)); @@ -55,7 +55,7 @@ final class StreamWrapper public static function createStreamContext(StreamInterface $stream) { return stream_context_create([ - 'guzzle' => ['stream' => $stream] + 'guzzle' => ['stream' => $stream], ]); } @@ -115,7 +115,7 @@ final class StreamWrapper */ public function stream_cast(int $cast_as) { - $stream = clone($this->stream); + $stream = clone $this->stream; $resource = $stream->detach(); return $resource ?? false; @@ -127,27 +127,27 @@ final class StreamWrapper public function stream_stat(): array { static $modeMap = [ - 'r' => 33060, + 'r' => 33060, 'rb' => 33060, 'r+' => 33206, - 'w' => 33188, - 'wb' => 33188 + 'w' => 33188, + 'wb' => 33188, ]; return [ - 'dev' => 0, - 'ino' => 0, - 'mode' => $modeMap[$this->mode], - 'nlink' => 0, - 'uid' => 0, - 'gid' => 0, - 'rdev' => 0, - 'size' => $this->stream->getSize() ?: 0, - 'atime' => 0, - 'mtime' => 0, - 'ctime' => 0, + 'dev' => 0, + 'ino' => 0, + 'mode' => $modeMap[$this->mode], + 'nlink' => 0, + 'uid' => 0, + 'gid' => 0, + 'rdev' => 0, + 'size' => $this->stream->getSize() ?: 0, + 'atime' => 0, + 'mtime' => 0, + 'ctime' => 0, 'blksize' => 0, - 'blocks' => 0 + 'blocks' => 0, ]; } @@ -157,19 +157,19 @@ final class StreamWrapper public function url_stat(string $path, int $flags): array { return [ - 'dev' => 0, - 'ino' => 0, - 'mode' => 0, - 'nlink' => 0, - 'uid' => 0, - 'gid' => 0, - 'rdev' => 0, - 'size' => 0, - 'atime' => 0, - 'mtime' => 0, - 'ctime' => 0, + 'dev' => 0, + 'ino' => 0, + 'mode' => 0, + 'nlink' => 0, + 'uid' => 0, + 'gid' => 0, + 'rdev' => 0, + 'size' => 0, + 'atime' => 0, + 'mtime' => 0, + 'ctime' => 0, 'blksize' => 0, - 'blocks' => 0 + 'blocks' => 0, ]; } } diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Uri.php b/niucloud/vendor/guzzlehttp/psr7/src/Uri.php index 09e878d3d..fbba7f123 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Uri.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Uri.php @@ -25,7 +25,7 @@ class Uri implements UriInterface, \JsonSerializable private const HTTP_DEFAULT_HOST = 'localhost'; private const DEFAULT_PORTS = [ - 'http' => 80, + 'http' => 80, 'https' => 443, 'ftp' => 21, 'gopher' => 70, @@ -41,14 +41,14 @@ class Uri implements UriInterface, \JsonSerializable /** * Unreserved characters for use in a regex. * - * @link https://tools.ietf.org/html/rfc3986#section-2.3 + * @see https://tools.ietf.org/html/rfc3986#section-2.3 */ private const CHAR_UNRESERVED = 'a-zA-Z0-9_\-\.~'; /** * Sub-delims for use in a regex. * - * @link https://tools.ietf.org/html/rfc3986#section-2.2 + * @see https://tools.ietf.org/html/rfc3986#section-2.2 */ private const CHAR_SUB_DELIMS = '!\$&\'\(\)\*\+,;='; private const QUERY_SEPARATORS_REPLACEMENT = ['=' => '%3D', '&' => '%26']; @@ -87,6 +87,7 @@ class Uri implements UriInterface, \JsonSerializable $this->applyParts($parts); } } + /** * UTF-8 aware \parse_url() replacement. * @@ -121,7 +122,7 @@ class Uri implements UriInterface, \JsonSerializable $url ); - $result = parse_url($prefix . $encodedUrl); + $result = parse_url($prefix.$encodedUrl); if ($result === false) { return false; @@ -161,7 +162,7 @@ class Uri implements UriInterface, \JsonSerializable * `file:///` is the more common syntax for the file scheme anyway (Chrome for example redirects to * that format). * - * @link https://tools.ietf.org/html/rfc3986#section-5.3 + * @see https://tools.ietf.org/html/rfc3986#section-5.3 */ public static function composeComponents(?string $scheme, ?string $authority, string $path, ?string $query, ?string $fragment): string { @@ -169,25 +170,25 @@ class Uri implements UriInterface, \JsonSerializable // weak type checks to also accept null until we can add scalar type hints if ($scheme != '') { - $uri .= $scheme . ':'; + $uri .= $scheme.':'; } if ($authority != '' || $scheme === 'file') { - $uri .= '//' . $authority; + $uri .= '//'.$authority; } if ($authority != '' && $path != '' && $path[0] != '/') { - $path = '/' . $path; + $path = '/'.$path; } $uri .= $path; if ($query != '') { - $uri .= '?' . $query; + $uri .= '?'.$query; } if ($fragment != '') { - $uri .= '#' . $fragment; + $uri .= '#'.$fragment; } return $uri; @@ -218,7 +219,7 @@ class Uri implements UriInterface, \JsonSerializable * @see Uri::isNetworkPathReference * @see Uri::isAbsolutePathReference * @see Uri::isRelativePathReference - * @link https://tools.ietf.org/html/rfc3986#section-4 + * @see https://tools.ietf.org/html/rfc3986#section-4 */ public static function isAbsolute(UriInterface $uri): bool { @@ -230,7 +231,7 @@ class Uri implements UriInterface, \JsonSerializable * * A relative reference that begins with two slash characters is termed an network-path reference. * - * @link https://tools.ietf.org/html/rfc3986#section-4.2 + * @see https://tools.ietf.org/html/rfc3986#section-4.2 */ public static function isNetworkPathReference(UriInterface $uri): bool { @@ -242,7 +243,7 @@ class Uri implements UriInterface, \JsonSerializable * * A relative reference that begins with a single slash character is termed an absolute-path reference. * - * @link https://tools.ietf.org/html/rfc3986#section-4.2 + * @see https://tools.ietf.org/html/rfc3986#section-4.2 */ public static function isAbsolutePathReference(UriInterface $uri): bool { @@ -257,7 +258,7 @@ class Uri implements UriInterface, \JsonSerializable * * A relative reference that does not begin with a slash character is termed a relative-path reference. * - * @link https://tools.ietf.org/html/rfc3986#section-4.2 + * @see https://tools.ietf.org/html/rfc3986#section-4.2 */ public static function isRelativePathReference(UriInterface $uri): bool { @@ -276,7 +277,7 @@ class Uri implements UriInterface, \JsonSerializable * @param UriInterface $uri The URI to check * @param UriInterface|null $base An optional base URI to compare against * - * @link https://tools.ietf.org/html/rfc3986#section-4.4 + * @see https://tools.ietf.org/html/rfc3986#section-4.4 */ public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool { @@ -352,7 +353,7 @@ class Uri implements UriInterface, \JsonSerializable /** * Creates a URI from a hash of `parse_url` components. * - * @link http://php.net/manual/en/function.parse-url.php + * @see http://php.net/manual/en/function.parse-url.php * * @throws MalformedUriException If the components do not form a valid URI. */ @@ -374,11 +375,11 @@ class Uri implements UriInterface, \JsonSerializable { $authority = $this->host; if ($this->userInfo !== '') { - $authority = $this->userInfo . '@' . $authority; + $authority = $this->userInfo.'@'.$authority; } if ($this->port !== null) { - $authority .= ':' . $this->port; + $authority .= ':'.$this->port; } return $authority; @@ -435,7 +436,7 @@ class Uri implements UriInterface, \JsonSerializable { $info = $this->filterUserInfoComponent($user); if ($password !== null) { - $info .= ':' . $this->filterUserInfoComponent($password); + $info .= ':'.$this->filterUserInfoComponent($password); } if ($this->userInfo === $info) { @@ -563,7 +564,7 @@ class Uri implements UriInterface, \JsonSerializable ? $this->filterQueryAndFragment($parts['fragment']) : ''; if (isset($parts['pass'])) { - $this->userInfo .= ':' . $this->filterUserInfoComponent($parts['pass']); + $this->userInfo .= ':'.$this->filterUserInfoComponent($parts['pass']); } $this->removeDefaultPort(); @@ -595,7 +596,7 @@ class Uri implements UriInterface, \JsonSerializable } return preg_replace_callback( - '/(?:[^%' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . ']+|%(?![A-Fa-f0-9]{2}))/', + '/(?:[^%'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.']+|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $component ); @@ -627,7 +628,7 @@ class Uri implements UriInterface, \JsonSerializable } $port = (int) $port; - if (0 > $port || 0xffff < $port) { + if (0 > $port || 0xFFFF < $port) { throw new \InvalidArgumentException( sprintf('Invalid port: %d. Must be between 0 and 65535', $port) ); @@ -664,7 +665,7 @@ class Uri implements UriInterface, \JsonSerializable $queryString = strtr($key, self::QUERY_SEPARATORS_REPLACEMENT); if ($value !== null) { - $queryString .= '=' . strtr($value, self::QUERY_SEPARATORS_REPLACEMENT); + $queryString .= '='.strtr($value, self::QUERY_SEPARATORS_REPLACEMENT); } return $queryString; @@ -691,7 +692,7 @@ class Uri implements UriInterface, \JsonSerializable } return preg_replace_callback( - '/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\/]++|%(?![A-Fa-f0-9]{2}))/', + '/(?:[^'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.'%:@\/]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $path ); @@ -711,7 +712,7 @@ class Uri implements UriInterface, \JsonSerializable } return preg_replace_callback( - '/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/', + '/(?:[^'.self::CHAR_UNRESERVED.self::CHAR_SUB_DELIMS.'%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/', [$this, 'rawurlencodeMatchZero'], $str ); diff --git a/niucloud/vendor/guzzlehttp/psr7/src/UriNormalizer.php b/niucloud/vendor/guzzlehttp/psr7/src/UriNormalizer.php index e12971edd..3d98210b0 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/UriNormalizer.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/UriNormalizer.php @@ -11,7 +11,7 @@ use Psr\Http\Message\UriInterface; * * @author Tobias Schultze * - * @link https://tools.ietf.org/html/rfc3986#section-6 + * @see https://tools.ietf.org/html/rfc3986#section-6 */ final class UriNormalizer { @@ -119,7 +119,7 @@ final class UriNormalizer * @param UriInterface $uri The URI to normalize * @param int $flags A bitmask of normalizations to apply, see constants * - * @link https://tools.ietf.org/html/rfc3986#section-6.2 + * @see https://tools.ietf.org/html/rfc3986#section-6.2 */ public static function normalize(UriInterface $uri, int $flags = self::PRESERVING_NORMALIZATIONS): UriInterface { @@ -174,7 +174,7 @@ final class UriNormalizer * @param UriInterface $uri2 An URI to compare * @param int $normalizations A bitmask of normalizations to apply, see constants * - * @link https://tools.ietf.org/html/rfc3986#section-6.1 + * @see https://tools.ietf.org/html/rfc3986#section-6.1 */ public static function isEquivalent(UriInterface $uri1, UriInterface $uri2, int $normalizations = self::PRESERVING_NORMALIZATIONS): bool { diff --git a/niucloud/vendor/guzzlehttp/psr7/src/UriResolver.php b/niucloud/vendor/guzzlehttp/psr7/src/UriResolver.php index 426e5c9ad..b942d1cec 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/UriResolver.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/UriResolver.php @@ -11,14 +11,14 @@ use Psr\Http\Message\UriInterface; * * @author Tobias Schultze * - * @link https://tools.ietf.org/html/rfc3986#section-5 + * @see https://tools.ietf.org/html/rfc3986#section-5 */ final class UriResolver { /** * Removes dot segments from a path and returns the new path. * - * @link http://tools.ietf.org/html/rfc3986#section-5.2.4 + * @see http://tools.ietf.org/html/rfc3986#section-5.2.4 */ public static function removeDotSegments(string $path): string { @@ -40,7 +40,7 @@ final class UriResolver if ($path[0] === '/' && (!isset($newPath[0]) || $newPath[0] !== '/')) { // Re-add the leading slash if necessary for cases like "/.." - $newPath = '/' . $newPath; + $newPath = '/'.$newPath; } elseif ($newPath !== '' && ($segment === '.' || $segment === '..')) { // Add the trailing slash if necessary // If newPath is not empty, then $segment must be set and is the last segment from the foreach @@ -53,7 +53,7 @@ final class UriResolver /** * Converts the relative URI into a new URI that is resolved against the base URI. * - * @link http://tools.ietf.org/html/rfc3986#section-5.2 + * @see http://tools.ietf.org/html/rfc3986#section-5.2 */ public static function resolve(UriInterface $base, UriInterface $rel): UriInterface { @@ -80,13 +80,13 @@ final class UriResolver $targetPath = $rel->getPath(); } else { if ($targetAuthority != '' && $base->getPath() === '') { - $targetPath = '/' . $rel->getPath(); + $targetPath = '/'.$rel->getPath(); } else { $lastSlashPos = strrpos($base->getPath(), '/'); if ($lastSlashPos === false) { $targetPath = $rel->getPath(); } else { - $targetPath = substr($base->getPath(), 0, $lastSlashPos + 1) . $rel->getPath(); + $targetPath = substr($base->getPath(), 0, $lastSlashPos + 1).$rel->getPath(); } } } @@ -185,7 +185,7 @@ final class UriResolver } } $targetSegments[] = $targetLastSegment; - $relativePath = str_repeat('../', count($sourceSegments)) . implode('/', $targetSegments); + $relativePath = str_repeat('../', count($sourceSegments)).implode('/', $targetSegments); // A reference to am empty last segment or an empty first sub-segment must be prefixed with "./". // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used diff --git a/niucloud/vendor/guzzlehttp/psr7/src/Utils.php b/niucloud/vendor/guzzlehttp/psr7/src/Utils.php index 3a4cf3946..49b481e53 100644 --- a/niucloud/vendor/guzzlehttp/psr7/src/Utils.php +++ b/niucloud/vendor/guzzlehttp/psr7/src/Utils.php @@ -90,6 +90,7 @@ final class Utils } $buffer .= $buf; } + return $buffer; } @@ -174,7 +175,7 @@ final class Utils $standardPorts = ['http' => 80, 'https' => 443]; $scheme = $changes['uri']->getScheme(); if (isset($standardPorts[$scheme]) && $port != $standardPorts[$scheme]) { - $changes['set_headers']['Host'] .= ':' . $port; + $changes['set_headers']['Host'] .= ':'.$port; } } } @@ -291,6 +292,7 @@ final class Utils fwrite($stream, (string) $resource); fseek($stream, 0); } + return new Stream($stream, $options); } @@ -308,6 +310,7 @@ final class Utils fseek($stream, 0); $resource = $stream; } + return new Stream($resource, $options); case 'object': /** @var object $resource */ @@ -320,6 +323,7 @@ final class Utils } $result = $resource->current(); $resource->next(); + return $result; }, $options); } elseif (method_exists($resource, '__toString')) { @@ -334,7 +338,7 @@ final class Utils return new PumpStream($resource, $options); } - throw new \InvalidArgumentException('Invalid resource type: ' . gettype($resource)); + throw new \InvalidArgumentException('Invalid resource type: '.gettype($resource)); } /** diff --git a/niucloud/vendor/laravel/serializable-closure/README.md b/niucloud/vendor/laravel/serializable-closure/README.md index a9c25135c..ee0d01a15 100644 --- a/niucloud/vendor/laravel/serializable-closure/README.md +++ b/niucloud/vendor/laravel/serializable-closure/README.md @@ -51,8 +51,10 @@ echo $closure(); // james; ### Caveats -1. Creating **anonymous classes** within closures is not supported. -2. Using attributes within closures is not supported. +* Anonymous classes cannot be created within closures. +* Attributes cannot be used within closures. +* Serializing closures on REPL environments like Laravel Tinker is not supported. +* Serializing closures that reference objects with readonly properties is not supported. ## Contributing diff --git a/niucloud/vendor/laravel/serializable-closure/src/SerializableClosure.php b/niucloud/vendor/laravel/serializable-closure/src/SerializableClosure.php index e7f9f0cf8..86422f935 100644 --- a/niucloud/vendor/laravel/serializable-closure/src/SerializableClosure.php +++ b/niucloud/vendor/laravel/serializable-closure/src/SerializableClosure.php @@ -62,6 +62,17 @@ class SerializableClosure return $this->serializable->getClosure(); } + /** + * Create a new unsigned serializable closure instance. + * + * @param Closure $closure + * @return \Laravel\SerializableClosure\UnsignedSerializableClosure + */ + public static function unsigned(Closure $closure) + { + return new UnsignedSerializableClosure($closure); + } + /** * Sets the serializable closure secret key. * diff --git a/niucloud/vendor/laravel/serializable-closure/src/Serializers/Native.php b/niucloud/vendor/laravel/serializable-closure/src/Serializers/Native.php index 0ff8410c0..4a04b981e 100644 --- a/niucloud/vendor/laravel/serializable-closure/src/Serializers/Native.php +++ b/niucloud/vendor/laravel/serializable-closure/src/Serializers/Native.php @@ -10,6 +10,7 @@ use Laravel\SerializableClosure\Support\ClosureScope; use Laravel\SerializableClosure\Support\ClosureStream; use Laravel\SerializableClosure\Support\ReflectionClosure; use Laravel\SerializableClosure\Support\SelfReference; +use Laravel\SerializableClosure\UnsignedSerializableClosure; use ReflectionObject; use UnitEnum; @@ -379,7 +380,7 @@ class Native implements Serializable $item = $property->getValue($data); - if ($item instanceof SerializableClosure || ($item instanceof SelfReference && $item->hash === $this->code['self'])) { + if ($item instanceof SerializableClosure || $item instanceof UnsignedSerializableClosure || ($item instanceof SelfReference && $item->hash === $this->code['self'])) { $this->code['objects'][] = [ 'instance' => $data, 'property' => $property, @@ -452,7 +453,7 @@ class Native implements Serializable } unset($value); - } elseif (is_object($data) && ! $data instanceof SerializableClosure) { + } elseif (is_object($data) && ! $data instanceof SerializableClosure && ! $data instanceof UnsignedSerializableClosure) { if (isset($this->scope[$data])) { $data = $this->scope[$data]; diff --git a/niucloud/vendor/laravel/serializable-closure/src/Support/ReflectionClosure.php b/niucloud/vendor/laravel/serializable-closure/src/Support/ReflectionClosure.php index a0d370752..d2a701056 100644 --- a/niucloud/vendor/laravel/serializable-closure/src/Support/ReflectionClosure.php +++ b/niucloud/vendor/laravel/serializable-closure/src/Support/ReflectionClosure.php @@ -511,8 +511,7 @@ class ReflectionClosure extends ReflectionFunction // named arguments... case ':': if ($lastState === 'closure' && $context === 'root') { - $state = 'ignore_next'; - $lastState = 'closure'; + $state = 'closure'; $code .= $id_start.$token; } @@ -651,7 +650,7 @@ class ReflectionClosure extends ReflectionFunction $state = 'id_name'; $context = 'extends'; $lastState = 'anonymous'; - break; + break; case '{': $state = 'closure'; if (! $inside_structure) { diff --git a/niucloud/vendor/laravel/serializable-closure/src/UnsignedSerializableClosure.php b/niucloud/vendor/laravel/serializable-closure/src/UnsignedSerializableClosure.php new file mode 100644 index 000000000..1588e7cc0 --- /dev/null +++ b/niucloud/vendor/laravel/serializable-closure/src/UnsignedSerializableClosure.php @@ -0,0 +1,82 @@ +serializable = new Serializers\Native($closure); + } + + /** + * Resolve the closure with the given arguments. + * + * @return mixed + */ + public function __invoke() + { + if (\PHP_VERSION_ID < 70400) { + throw new PhpVersionNotSupportedException(); + } + + return call_user_func_array($this->serializable, func_get_args()); + } + + /** + * Gets the closure. + * + * @return \Closure + */ + public function getClosure() + { + if (\PHP_VERSION_ID < 70400) { + throw new PhpVersionNotSupportedException(); + } + + return $this->serializable->getClosure(); + } + + /** + * Get the serializable representation of the closure. + * + * @return array + */ + public function __serialize() + { + return [ + 'serializable' => $this->serializable, + ]; + } + + /** + * Restore the closure after serialization. + * + * @param array $data + * @return void + */ + public function __unserialize($data) + { + $this->serializable = $data['serializable']; + } +} diff --git a/niucloud/vendor/monolog/monolog/CHANGELOG.md b/niucloud/vendor/monolog/monolog/CHANGELOG.md index 98d1f8b27..8a8c65124 100644 --- a/niucloud/vendor/monolog/monolog/CHANGELOG.md +++ b/niucloud/vendor/monolog/monolog/CHANGELOG.md @@ -1,3 +1,7 @@ +### 2.9.1 (2023-02-06) + + * Fixed Logger not being serializable anymore (#1792) + ### 2.9.0 (2023-02-05) * Deprecated FlowdockHandler & Formatter as the flowdock service was shutdown (#1748) diff --git a/niucloud/vendor/monolog/monolog/src/Monolog/Logger.php b/niucloud/vendor/monolog/monolog/src/Monolog/Logger.php index 775d7cf1f..84a2f5510 100644 --- a/niucloud/vendor/monolog/monolog/src/Monolog/Logger.php +++ b/niucloud/vendor/monolog/monolog/src/Monolog/Logger.php @@ -722,4 +722,40 @@ class Logger implements LoggerInterface, ResettableInterface ($this->exceptionHandler)($e, $record); } + + /** + * @return array + */ + public function __serialize(): array + { + return [ + 'name' => $this->name, + 'handlers' => $this->handlers, + 'processors' => $this->processors, + 'microsecondTimestamps' => $this->microsecondTimestamps, + 'timezone' => $this->timezone, + 'exceptionHandler' => $this->exceptionHandler, + 'logDepth' => $this->logDepth, + 'detectCycles' => $this->detectCycles, + ]; + } + + /** + * @param array $data + */ + public function __unserialize(array $data): void + { + foreach (['name', 'handlers', 'processors', 'microsecondTimestamps', 'timezone', 'exceptionHandler', 'logDepth', 'detectCycles'] as $property) { + if (isset($data[$property])) { + $this->$property = $data[$property]; + } + } + + if (\PHP_VERSION_ID >= 80100) { + // Local variable for phpstan, see https://github.com/phpstan/phpstan/issues/6732#issuecomment-1111118412 + /** @var \WeakMap<\Fiber, int> $fiberLogDepth */ + $fiberLogDepth = new \WeakMap(); + $this->fiberLogDepth = $fiberLogDepth; + } + } } diff --git a/niucloud/vendor/overtrue/socialite/src/Providers/Linkedin.php b/niucloud/vendor/overtrue/socialite/src/Providers/Linkedin.php index d6eea204f..f2e13f745 100644 --- a/niucloud/vendor/overtrue/socialite/src/Providers/Linkedin.php +++ b/niucloud/vendor/overtrue/socialite/src/Providers/Linkedin.php @@ -51,7 +51,7 @@ class Linkedin extends Base $response = $this->getHttpClient()->get($url, [ 'headers' => [ - 'Authorization' => 'Bearer '.$token, + 'Authorization' => 'Bearer ' . $token, 'X-RestLi-Protocol-Version' => '2.0.0', ], ]); @@ -65,22 +65,23 @@ class Linkedin extends Base $response = $this->getHttpClient()->get($url, [ 'headers' => [ - 'Authorization' => 'Bearer '.$token, + 'Authorization' => 'Bearer ' . $token, 'X-RestLi-Protocol-Version' => '2.0.0', ], ]); - return $this->fromJsonBody($response)['elements.0.handle~'] ?? []; + return $this->fromJsonBody($response)['elements'][0]['handle~'] ?? []; } protected function mapUserToObject(array $user): Contracts\UserInterface { - $preferredLocale = ($user['firstName.preferredLocale.language'] ?? null).'_'.($user['firstName.preferredLocale.country'] ?? null); - $firstName = $user['firstName.localized.'.$preferredLocale] ?? null; - $lastName = $user['lastName.localized.'.$preferredLocale] ?? null; - $name = $firstName.' '.$lastName; + $preferredLocale = ($user['firstName']['preferredLocale']['language'] ?? null) . '_' . + ($user['firstName']['preferredLocale']['country'] ?? null); + $firstName = $user['firstName']['localized'][$preferredLocale] ?? null; + $lastName = $user['lastName']['localized'][$preferredLocale] ?? null; + $name = $firstName . ' ' . $lastName; - $images = $user['profilePicture.displayImage~.elements'] ?? []; + $images = $user['profilePicture']['displayImage~']['elements'] ?? []; $avatars = \array_filter($images, static fn ($image) => ($image['data']['com.linkedin.digitalmedia.mediaartifact.StillImage']['storageSize']['width'] ?? 0) === 100); $avatar = \array_shift($avatars); $originalAvatars = \array_filter($images, static fn ($image) => ($image['data']['com.linkedin.digitalmedia.mediaartifact.StillImage']['storageSize']['width'] ?? 0) === 800); @@ -91,8 +92,8 @@ class Linkedin extends Base Contracts\ABNF_NICKNAME => $name, Contracts\ABNF_NAME => $name, Contracts\ABNF_EMAIL => $user['emailAddress'] ?? null, - Contracts\ABNF_AVATAR => $avatar['identifiers.0.identifier'] ?? null, - 'avatar_original' => $originalAvatar['identifiers.0.identifier'] ?? null, + Contracts\ABNF_AVATAR => $avatar['identifiers']['0']['identifier'] ?? null, + 'avatar_original' => $originalAvatar['identifiers']['0']['identifier'] ?? null, ]); } } diff --git a/niucloud/vendor/services.php b/niucloud/vendor/services.php index b6977f712..cca426243 100644 --- a/niucloud/vendor/services.php +++ b/niucloud/vendor/services.php @@ -1,5 +1,5 @@ 'think\\captcha\\CaptchaService', diff --git a/niucloud/vendor/symfony/cache/Adapter/DoctrineDbalAdapter.php b/niucloud/vendor/symfony/cache/Adapter/DoctrineDbalAdapter.php index 700ad95b9..2650869e3 100644 --- a/niucloud/vendor/symfony/cache/Adapter/DoctrineDbalAdapter.php +++ b/niucloud/vendor/symfony/cache/Adapter/DoctrineDbalAdapter.php @@ -11,13 +11,17 @@ namespace Symfony\Component\Cache\Adapter; +use Doctrine\DBAL\ArrayParameterType; +use Doctrine\DBAL\Configuration; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\Exception as DBALException; use Doctrine\DBAL\Exception\TableNotFoundException; use Doctrine\DBAL\ParameterType; +use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Tools\DsnParser; use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Marshaller\DefaultMarshaller; use Symfony\Component\Cache\Marshaller\MarshallerInterface; @@ -68,7 +72,28 @@ class DoctrineDbalAdapter extends AbstractAdapter implements PruneableInterface if (!class_exists(DriverManager::class)) { throw new InvalidArgumentException(sprintf('Failed to parse the DSN "%s". Try running "composer require doctrine/dbal".', $connOrDsn)); } - $this->conn = DriverManager::getConnection(['url' => $connOrDsn]); + if (class_exists(DsnParser::class)) { + $params = (new DsnParser([ + 'db2' => 'ibm_db2', + 'mssql' => 'pdo_sqlsrv', + 'mysql' => 'pdo_mysql', + 'mysql2' => 'pdo_mysql', + 'postgres' => 'pdo_pgsql', + 'postgresql' => 'pdo_pgsql', + 'pgsql' => 'pdo_pgsql', + 'sqlite' => 'pdo_sqlite', + 'sqlite3' => 'pdo_sqlite', + ]))->parse($connOrDsn); + } else { + $params = ['url' => $connOrDsn]; + } + + $config = new Configuration(); + if (class_exists(DefaultSchemaManagerFactory::class)) { + $config->setSchemaManagerFactory(new DefaultSchemaManagerFactory()); + } + + $this->conn = DriverManager::getConnection($params, $config); } else { throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be "%s" or string, "%s" given.', __METHOD__, Connection::class, get_debug_type($connOrDsn))); } @@ -156,7 +181,7 @@ class DoctrineDbalAdapter extends AbstractAdapter implements PruneableInterface $ids, ], [ ParameterType::INTEGER, - Connection::PARAM_STR_ARRAY, + class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY, ])->iterateNumeric(); foreach ($result as $row) { @@ -174,7 +199,7 @@ class DoctrineDbalAdapter extends AbstractAdapter implements PruneableInterface $expired, ], [ ParameterType::INTEGER, - Connection::PARAM_STR_ARRAY, + class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY, ]); } } @@ -226,7 +251,7 @@ class DoctrineDbalAdapter extends AbstractAdapter implements PruneableInterface { $sql = "DELETE FROM $this->table WHERE $this->idCol IN (?)"; try { - $this->conn->executeStatement($sql, [array_values($ids)], [Connection::PARAM_STR_ARRAY]); + $this->conn->executeStatement($sql, [array_values($ids)], [class_exists(ArrayParameterType::class) ? ArrayParameterType::STRING : Connection::PARAM_STR_ARRAY]); } catch (TableNotFoundException $e) { } @@ -285,35 +310,42 @@ class DoctrineDbalAdapter extends AbstractAdapter implements PruneableInterface $stmt = $this->conn->prepare($sql); } - // $id and $data are defined later in the loop. Binding is done by reference, values are read on execution. if ('sqlsrv' === $platformName || 'oci' === $platformName) { - $stmt->bindParam(1, $id); - $stmt->bindParam(2, $id); - $stmt->bindParam(3, $data, ParameterType::LARGE_OBJECT); + $bind = static function ($id, $data) use ($stmt) { + $stmt->bindValue(1, $id); + $stmt->bindValue(2, $id); + $stmt->bindValue(3, $data, ParameterType::LARGE_OBJECT); + $stmt->bindValue(6, $data, ParameterType::LARGE_OBJECT); + }; $stmt->bindValue(4, $lifetime, ParameterType::INTEGER); $stmt->bindValue(5, $now, ParameterType::INTEGER); - $stmt->bindParam(6, $data, ParameterType::LARGE_OBJECT); $stmt->bindValue(7, $lifetime, ParameterType::INTEGER); $stmt->bindValue(8, $now, ParameterType::INTEGER); } elseif (null !== $platformName) { - $stmt->bindParam(1, $id); - $stmt->bindParam(2, $data, ParameterType::LARGE_OBJECT); + $bind = static function ($id, $data) use ($stmt) { + $stmt->bindValue(1, $id); + $stmt->bindValue(2, $data, ParameterType::LARGE_OBJECT); + }; $stmt->bindValue(3, $lifetime, ParameterType::INTEGER); $stmt->bindValue(4, $now, ParameterType::INTEGER); } else { - $stmt->bindParam(1, $data, ParameterType::LARGE_OBJECT); $stmt->bindValue(2, $lifetime, ParameterType::INTEGER); $stmt->bindValue(3, $now, ParameterType::INTEGER); - $stmt->bindParam(4, $id); $insertStmt = $this->conn->prepare($insertSql); - $insertStmt->bindParam(1, $id); - $insertStmt->bindParam(2, $data, ParameterType::LARGE_OBJECT); $insertStmt->bindValue(3, $lifetime, ParameterType::INTEGER); $insertStmt->bindValue(4, $now, ParameterType::INTEGER); + + $bind = static function ($id, $data) use ($stmt, $insertStmt) { + $stmt->bindValue(1, $data, ParameterType::LARGE_OBJECT); + $stmt->bindValue(4, $id); + $insertStmt->bindValue(1, $id); + $insertStmt->bindValue(2, $data, ParameterType::LARGE_OBJECT); + }; } foreach ($values as $id => $data) { + $bind($id, $data); try { $rowCount = $stmt->executeStatement(); } catch (TableNotFoundException $e) { diff --git a/niucloud/vendor/symfony/cache/Traits/RedisTrait.php b/niucloud/vendor/symfony/cache/Traits/RedisTrait.php index 67d866316..220e65e74 100644 --- a/niucloud/vendor/symfony/cache/Traits/RedisTrait.php +++ b/niucloud/vendor/symfony/cache/Traits/RedisTrait.php @@ -174,6 +174,11 @@ trait RedisTrait throw new CacheException(sprintf('Redis Sentinel support requires the "predis/predis" package or the "redis" extension v5.2 or higher: "%s".', $dsn)); } + if (isset($params['lazy'])) { + $params['lazy'] = filter_var($params['lazy'], \FILTER_VALIDATE_BOOLEAN); + } + $params['redis_cluster'] = filter_var($params['redis_cluster'], \FILTER_VALIDATE_BOOLEAN); + if ($params['redis_cluster'] && isset($params['redis_sentinel'])) { throw new InvalidArgumentException(sprintf('Cannot use both "redis_cluster" and "redis_sentinel" at the same time: "%s".', $dsn)); } diff --git a/niucloud/vendor/yunwuxin/think-cron/src/cron/Scheduler.php b/niucloud/vendor/yunwuxin/think-cron/src/cron/Scheduler.php index 29bc74963..9cf74aeec 100644 --- a/niucloud/vendor/yunwuxin/think-cron/src/cron/Scheduler.php +++ b/niucloud/vendor/yunwuxin/think-cron/src/cron/Scheduler.php @@ -2,7 +2,6 @@ namespace yunwuxin\cron; -use app\service\core\schedule\CoreScheduleService; use Carbon\Carbon; use Exception; use think\App; @@ -27,23 +26,19 @@ class Scheduler public function __construct(App $app) { $this->app = $app; -// $this->tasks = $app->config->get('cron.tasks', []); - $this->tasks = (new CoreScheduleService())->getList(); - - $this->cache = $app->cache->store(); + $this->tasks = $app->config->get('cron.tasks', []); + $this->cache = $app->cache->store($app->config->get('cron.store', null)); } public function run() { $this->startedAt = Carbon::now(); - $file = root_path('runtime').'.schedule'; - file_put_contents($file, time()); - $taskClass = 'app\command\schedule\Schedule'; - foreach ($this->tasks as $task_value) { + foreach ($this->tasks as $taskClass) { if (is_subclass_of($taskClass, Task::class)) { + /** @var Task $task */ - $task = $this->app->invokeClass($taskClass, [$task_value]); + $task = $this->app->invokeClass($taskClass, [$this->cache]); if ($task->isDue()) { if (!$task->filtersPass()) { diff --git a/niucloud/vendor/yunwuxin/think-cron/src/cron/Task.php b/niucloud/vendor/yunwuxin/think-cron/src/cron/Task.php index de4e08a84..5f491e826 100644 --- a/niucloud/vendor/yunwuxin/think-cron/src/cron/Task.php +++ b/niucloud/vendor/yunwuxin/think-cron/src/cron/Task.php @@ -36,15 +36,10 @@ abstract class Task /** @var App */ protected $app; - protected $vars; - - public function __construct(App $app, $vars) + public function __construct(App $app, Cache $cache) { - $this->app = $app; -// $this->cache = $cache; - $this->cache = $app->cache->store(); - $this->vars = $vars; + $this->cache = $cache; $this->configure(); } diff --git a/niucloud/vendor/yunwuxin/think-cron/src/cron/command/Schedule.php b/niucloud/vendor/yunwuxin/think-cron/src/cron/command/Schedule.php index f1eb8dd9c..edeea6041 100644 --- a/niucloud/vendor/yunwuxin/think-cron/src/cron/command/Schedule.php +++ b/niucloud/vendor/yunwuxin/think-cron/src/cron/command/Schedule.php @@ -17,8 +17,9 @@ class Schedule extends Command protected function execute(Input $input, Output $output) { + if ('\\' == DIRECTORY_SEPARATOR) { - $command = 'start /B "Niucloud Schedule" "' . PHP_BINARY . '" think cron:run'; + $command = 'start /B "' . PHP_BINARY . '" think cron:run'; } else { $command = 'nohup "' . PHP_BINARY . '" think cron:run >> /dev/null 2>&1 &'; }