mirror of
https://github.com/linuxserver/Heimdall.git
synced 2025-11-02 22:17:48 +09:00
Update dependencies
This commit is contained in:
616
composer.lock
generated
616
composer.lock
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
117
vendor/bin/carbon
vendored
117
vendor/bin/carbon
vendored
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../nesbot/carbon/bin/carbon)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = $this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_seek($offset, $whence)
|
|
||||||
{
|
|
||||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
|
||||||
$this->position = ftell($this->handle);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/nesbot/carbon/bin/carbon');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/nesbot/carbon/bin/carbon';
|
|
||||||
1
vendor/bin/carbon
vendored
Symbolic link
1
vendor/bin/carbon
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../nesbot/carbon/bin/carbon
|
||||||
5
vendor/bin/carbon.bat
vendored
5
vendor/bin/carbon.bat
vendored
@@ -1,5 +0,0 @@
|
|||||||
@ECHO OFF
|
|
||||||
setlocal DISABLEDELAYEDEXPANSION
|
|
||||||
SET BIN_TARGET=%~dp0/carbon
|
|
||||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
|
||||||
php "%BIN_TARGET%" %*
|
|
||||||
117
vendor/bin/patch-type-declarations
vendored
117
vendor/bin/patch-type-declarations
vendored
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../symfony/error-handler/Resources/bin/patch-type-declarations)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = $this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_seek($offset, $whence)
|
|
||||||
{
|
|
||||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
|
||||||
$this->position = ftell($this->handle);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/error-handler/Resources/bin/patch-type-declarations');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/symfony/error-handler/Resources/bin/patch-type-declarations';
|
|
||||||
1
vendor/bin/patch-type-declarations
vendored
Symbolic link
1
vendor/bin/patch-type-declarations
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../symfony/error-handler/Resources/bin/patch-type-declarations
|
||||||
5
vendor/bin/patch-type-declarations.bat
vendored
5
vendor/bin/patch-type-declarations.bat
vendored
@@ -1,5 +0,0 @@
|
|||||||
@ECHO OFF
|
|
||||||
setlocal DISABLEDELAYEDEXPANSION
|
|
||||||
SET BIN_TARGET=%~dp0/patch-type-declarations
|
|
||||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
|
||||||
php "%BIN_TARGET%" %*
|
|
||||||
117
vendor/bin/php-parse
vendored
117
vendor/bin/php-parse
vendored
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../nikic/php-parser/bin/php-parse)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = $this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_seek($offset, $whence)
|
|
||||||
{
|
|
||||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
|
||||||
$this->position = ftell($this->handle);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse';
|
|
||||||
1
vendor/bin/php-parse
vendored
Symbolic link
1
vendor/bin/php-parse
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../nikic/php-parser/bin/php-parse
|
||||||
5
vendor/bin/php-parse.bat
vendored
5
vendor/bin/php-parse.bat
vendored
@@ -1,5 +0,0 @@
|
|||||||
@ECHO OFF
|
|
||||||
setlocal DISABLEDELAYEDEXPANSION
|
|
||||||
SET BIN_TARGET=%~dp0/php-parse
|
|
||||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
|
||||||
php "%BIN_TARGET%" %*
|
|
||||||
117
vendor/bin/psysh
vendored
117
vendor/bin/psysh
vendored
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../psy/psysh/bin/psysh)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = $this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_seek($offset, $whence)
|
|
||||||
{
|
|
||||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
|
||||||
$this->position = ftell($this->handle);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/psy/psysh/bin/psysh');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/psy/psysh/bin/psysh';
|
|
||||||
1
vendor/bin/psysh
vendored
Symbolic link
1
vendor/bin/psysh
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../psy/psysh/bin/psysh
|
||||||
5
vendor/bin/psysh.bat
vendored
5
vendor/bin/psysh.bat
vendored
@@ -1,5 +0,0 @@
|
|||||||
@ECHO OFF
|
|
||||||
setlocal DISABLEDELAYEDEXPANSION
|
|
||||||
SET BIN_TARGET=%~dp0/psysh
|
|
||||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
|
||||||
php "%BIN_TARGET%" %*
|
|
||||||
117
vendor/bin/var-dump-server
vendored
117
vendor/bin/var-dump-server
vendored
@@ -1,117 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../symfony/var-dumper/Resources/bin/var-dump-server)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = $this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_seek($offset, $whence)
|
|
||||||
{
|
|
||||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
|
||||||
$this->position = ftell($this->handle);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server';
|
|
||||||
1
vendor/bin/var-dump-server
vendored
Symbolic link
1
vendor/bin/var-dump-server
vendored
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../symfony/var-dumper/Resources/bin/var-dump-server
|
||||||
5
vendor/bin/var-dump-server.bat
vendored
5
vendor/bin/var-dump-server.bat
vendored
@@ -1,5 +0,0 @@
|
|||||||
@ECHO OFF
|
|
||||||
setlocal DISABLEDELAYEDEXPANSION
|
|
||||||
SET BIN_TARGET=%~dp0/var-dump-server
|
|
||||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
|
||||||
php "%BIN_TARGET%" %*
|
|
||||||
65
vendor/composer/autoload_classmap.php
vendored
65
vendor/composer/autoload_classmap.php
vendored
@@ -92,7 +92,6 @@ return array(
|
|||||||
'App\\SupportedApps\\Drone\\Drone' => $baseDir . '/app/SupportedApps/Drone/Drone.php',
|
'App\\SupportedApps\\Drone\\Drone' => $baseDir . '/app/SupportedApps/Drone/Drone.php',
|
||||||
'App\\SupportedApps\\Droppy\\Droppy' => $baseDir . '/app/SupportedApps/Droppy/Droppy.php',
|
'App\\SupportedApps\\Droppy\\Droppy' => $baseDir . '/app/SupportedApps/Droppy/Droppy.php',
|
||||||
'App\\SupportedApps\\Duplicacy\\Duplicacy' => $baseDir . '/app/SupportedApps/Duplicacy/Duplicacy.php',
|
'App\\SupportedApps\\Duplicacy\\Duplicacy' => $baseDir . '/app/SupportedApps/Duplicacy/Duplicacy.php',
|
||||||
'App\\SupportedApps\\Duplicati\\Duplicati' => $baseDir . '/app/SupportedApps/Duplicati/Duplicati.php',
|
|
||||||
'App\\SupportedApps\\ESPHome\\ESPHome' => $baseDir . '/app/SupportedApps/ESPHome/ESPHome.php',
|
'App\\SupportedApps\\ESPHome\\ESPHome' => $baseDir . '/app/SupportedApps/ESPHome/ESPHome.php',
|
||||||
'App\\SupportedApps\\Element\\Element' => $baseDir . '/app/SupportedApps/Element/Element.php',
|
'App\\SupportedApps\\Element\\Element' => $baseDir . '/app/SupportedApps/Element/Element.php',
|
||||||
'App\\SupportedApps\\EmbyStat\\EmbyStat' => $baseDir . '/app/SupportedApps/EmbyStat/EmbyStat.php',
|
'App\\SupportedApps\\EmbyStat\\EmbyStat' => $baseDir . '/app/SupportedApps/EmbyStat/EmbyStat.php',
|
||||||
@@ -100,6 +99,7 @@ return array(
|
|||||||
'App\\SupportedApps\\FileBrowser\\FileBrowser' => $baseDir . '/app/SupportedApps/FileBrowser/FileBrowser.php',
|
'App\\SupportedApps\\FileBrowser\\FileBrowser' => $baseDir . '/app/SupportedApps/FileBrowser/FileBrowser.php',
|
||||||
'App\\SupportedApps\\FileFlows\\FileFlows' => $baseDir . '/app/SupportedApps/FileFlows/FileFlows.php',
|
'App\\SupportedApps\\FileFlows\\FileFlows' => $baseDir . '/app/SupportedApps/FileFlows/FileFlows.php',
|
||||||
'App\\SupportedApps\\FileRun\\FileRun' => $baseDir . '/app/SupportedApps/FileRun/FileRun.php',
|
'App\\SupportedApps\\FileRun\\FileRun' => $baseDir . '/app/SupportedApps/FileRun/FileRun.php',
|
||||||
|
'App\\SupportedApps\\Firefly3\\Firefly3' => $baseDir . '/app/SupportedApps/Firefly3/Firefly3.php',
|
||||||
'App\\SupportedApps\\Firefly\\Firefly' => $baseDir . '/app/SupportedApps/Firefly/Firefly.php',
|
'App\\SupportedApps\\Firefly\\Firefly' => $baseDir . '/app/SupportedApps/Firefly/Firefly.php',
|
||||||
'App\\SupportedApps\\FirefoxSend\\FirefoxSend' => $baseDir . '/app/SupportedApps/FirefoxSend/FirefoxSend.php',
|
'App\\SupportedApps\\FirefoxSend\\FirefoxSend' => $baseDir . '/app/SupportedApps/FirefoxSend/FirefoxSend.php',
|
||||||
'App\\SupportedApps\\FlexGet\\FlexGet' => $baseDir . '/app/SupportedApps/FlexGet/FlexGet.php',
|
'App\\SupportedApps\\FlexGet\\FlexGet' => $baseDir . '/app/SupportedApps/FlexGet/FlexGet.php',
|
||||||
@@ -297,7 +297,6 @@ return array(
|
|||||||
'App\\SupportedApps\\TarTenNinety\\TarTenNinety' => $baseDir . '/app/SupportedApps/TarTenNinety/TarTenNinety.php',
|
'App\\SupportedApps\\TarTenNinety\\TarTenNinety' => $baseDir . '/app/SupportedApps/TarTenNinety/TarTenNinety.php',
|
||||||
'App\\SupportedApps\\TasmoAdmin\\TasmoAdmin' => $baseDir . '/app/SupportedApps/TasmoAdmin/TasmoAdmin.php',
|
'App\\SupportedApps\\TasmoAdmin\\TasmoAdmin' => $baseDir . '/app/SupportedApps/TasmoAdmin/TasmoAdmin.php',
|
||||||
'App\\SupportedApps\\Tasmota\\Tasmota' => $baseDir . '/app/SupportedApps/Tasmota/Tasmota.php',
|
'App\\SupportedApps\\Tasmota\\Tasmota' => $baseDir . '/app/SupportedApps/Tasmota/Tasmota.php',
|
||||||
'App\\SupportedApps\\Tautulli\\Tautulli' => $baseDir . '/app/SupportedApps/Tautulli/Tautulli.php',
|
|
||||||
'App\\SupportedApps\\Tdarr\\Tdarr' => $baseDir . '/app/SupportedApps/Tdarr/Tdarr.php',
|
'App\\SupportedApps\\Tdarr\\Tdarr' => $baseDir . '/app/SupportedApps/Tdarr/Tdarr.php',
|
||||||
'App\\SupportedApps\\TechnitiumDNS\\TechnitiumDNS' => $baseDir . '/app/SupportedApps/TechnitiumDNS/TechnitiumDNS.php',
|
'App\\SupportedApps\\TechnitiumDNS\\TechnitiumDNS' => $baseDir . '/app/SupportedApps/TechnitiumDNS/TechnitiumDNS.php',
|
||||||
'App\\SupportedApps\\Teedy\\Teedy' => $baseDir . '/app/SupportedApps/Teedy/Teedy.php',
|
'App\\SupportedApps\\Teedy\\Teedy' => $baseDir . '/app/SupportedApps/Teedy/Teedy.php',
|
||||||
@@ -402,6 +401,7 @@ return array(
|
|||||||
'Carbon\\Exceptions\\BadFluentConstructorException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php',
|
'Carbon\\Exceptions\\BadFluentConstructorException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php',
|
||||||
'Carbon\\Exceptions\\BadFluentSetterException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php',
|
'Carbon\\Exceptions\\BadFluentSetterException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php',
|
||||||
'Carbon\\Exceptions\\BadMethodCallException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php',
|
'Carbon\\Exceptions\\BadMethodCallException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php',
|
||||||
|
'Carbon\\Exceptions\\EndLessPeriodException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/EndLessPeriodException.php',
|
||||||
'Carbon\\Exceptions\\Exception' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/Exception.php',
|
'Carbon\\Exceptions\\Exception' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/Exception.php',
|
||||||
'Carbon\\Exceptions\\ImmutableException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php',
|
'Carbon\\Exceptions\\ImmutableException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php',
|
||||||
'Carbon\\Exceptions\\InvalidArgumentException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php',
|
'Carbon\\Exceptions\\InvalidArgumentException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php',
|
||||||
@@ -1307,6 +1307,7 @@ return array(
|
|||||||
'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
|
'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
|
||||||
'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
|
'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
|
||||||
'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
|
'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
|
||||||
|
'GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php',
|
||||||
'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
|
'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
|
||||||
'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
|
'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
|
||||||
'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php',
|
'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php',
|
||||||
@@ -2792,6 +2793,7 @@ return array(
|
|||||||
'Mockery\\Undefined' => $vendorDir . '/mockery/mockery/library/Mockery/Undefined.php',
|
'Mockery\\Undefined' => $vendorDir . '/mockery/mockery/library/Mockery/Undefined.php',
|
||||||
'Mockery\\VerificationDirector' => $vendorDir . '/mockery/mockery/library/Mockery/VerificationDirector.php',
|
'Mockery\\VerificationDirector' => $vendorDir . '/mockery/mockery/library/Mockery/VerificationDirector.php',
|
||||||
'Mockery\\VerificationExpectation' => $vendorDir . '/mockery/mockery/library/Mockery/VerificationExpectation.php',
|
'Mockery\\VerificationExpectation' => $vendorDir . '/mockery/mockery/library/Mockery/VerificationExpectation.php',
|
||||||
|
'Monolog\\Attribute\\AsMonologProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php',
|
||||||
'Monolog\\DateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
|
'Monolog\\DateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
|
||||||
'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
|
'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
|
||||||
'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
|
'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
|
||||||
@@ -2825,6 +2827,7 @@ return array(
|
|||||||
'Monolog\\Handler\\DoctrineCouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
|
'Monolog\\Handler\\DoctrineCouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
|
||||||
'Monolog\\Handler\\DynamoDbHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
|
'Monolog\\Handler\\DynamoDbHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
|
||||||
'Monolog\\Handler\\ElasticaHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php',
|
'Monolog\\Handler\\ElasticaHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php',
|
||||||
|
'Monolog\\Handler\\ElasticsearchHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php',
|
||||||
'Monolog\\Handler\\ErrorLogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
|
'Monolog\\Handler\\ErrorLogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
|
||||||
'Monolog\\Handler\\FallbackGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php',
|
'Monolog\\Handler\\FallbackGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php',
|
||||||
'Monolog\\Handler\\FilterHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
|
'Monolog\\Handler\\FilterHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
|
||||||
@@ -2875,6 +2878,7 @@ return array(
|
|||||||
'Monolog\\Handler\\SqsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SqsHandler.php',
|
'Monolog\\Handler\\SqsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SqsHandler.php',
|
||||||
'Monolog\\Handler\\StreamHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
|
'Monolog\\Handler\\StreamHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
|
||||||
'Monolog\\Handler\\SwiftMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
|
'Monolog\\Handler\\SwiftMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
|
||||||
|
'Monolog\\Handler\\SymfonyMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php',
|
||||||
'Monolog\\Handler\\SyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
|
'Monolog\\Handler\\SyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
|
||||||
'Monolog\\Handler\\SyslogUdpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
|
'Monolog\\Handler\\SyslogUdpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
|
||||||
'Monolog\\Handler\\SyslogUdp\\UdpSocket' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
|
'Monolog\\Handler\\SyslogUdp\\UdpSocket' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
|
||||||
@@ -2883,6 +2887,7 @@ return array(
|
|||||||
'Monolog\\Handler\\WebRequestRecognizerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
|
'Monolog\\Handler\\WebRequestRecognizerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
|
||||||
'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
|
'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
|
||||||
'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
|
'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
|
||||||
|
'Monolog\\LogRecord' => $vendorDir . '/monolog/monolog/src/Monolog/LogRecord.php',
|
||||||
'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php',
|
'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php',
|
||||||
'Monolog\\Processor\\GitProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
|
'Monolog\\Processor\\GitProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
|
||||||
'Monolog\\Processor\\HostnameProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php',
|
'Monolog\\Processor\\HostnameProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php',
|
||||||
@@ -3834,9 +3839,65 @@ return array(
|
|||||||
'Psy\\ParserFactory' => $vendorDir . '/psy/psysh/src/ParserFactory.php',
|
'Psy\\ParserFactory' => $vendorDir . '/psy/psysh/src/ParserFactory.php',
|
||||||
'Psy\\Readline\\GNUReadline' => $vendorDir . '/psy/psysh/src/Readline/GNUReadline.php',
|
'Psy\\Readline\\GNUReadline' => $vendorDir . '/psy/psysh/src/Readline/GNUReadline.php',
|
||||||
'Psy\\Readline\\HoaConsole' => $vendorDir . '/psy/psysh/src/Readline/HoaConsole.php',
|
'Psy\\Readline\\HoaConsole' => $vendorDir . '/psy/psysh/src/Readline/HoaConsole.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Autocompleter' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Autocompleter.php',
|
||||||
|
'Psy\\Readline\\Hoa\\AutocompleterAggregate' => $vendorDir . '/psy/psysh/src/Readline/Hoa/AutocompleterAggregate.php',
|
||||||
|
'Psy\\Readline\\Hoa\\AutocompleterPath' => $vendorDir . '/psy/psysh/src/Readline/Hoa/AutocompleterPath.php',
|
||||||
|
'Psy\\Readline\\Hoa\\AutocompleterWord' => $vendorDir . '/psy/psysh/src/Readline/Hoa/AutocompleterWord.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Console' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Console.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleCursor' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleCursor.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleException' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleInput' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleInput.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleOutput' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleOutput.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleProcessus' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleProcessus.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleTput' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleTput.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleWindow' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ConsoleWindow.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Event' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Event.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventBucket' => $vendorDir . '/psy/psysh/src/Readline/Hoa/EventBucket.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventException' => $vendorDir . '/psy/psysh/src/Readline/Hoa/EventException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventListenable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/EventListenable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventListener' => $vendorDir . '/psy/psysh/src/Readline/Hoa/EventListener.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventListens' => $vendorDir . '/psy/psysh/src/Readline/Hoa/EventListens.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventSource' => $vendorDir . '/psy/psysh/src/Readline/Hoa/EventSource.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Exception' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Exception.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ExceptionIdle' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ExceptionIdle.php',
|
||||||
|
'Psy\\Readline\\Hoa\\File' => $vendorDir . '/psy/psysh/src/Readline/Hoa/File.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileDirectory' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileDirectory.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileDoesNotExistException' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileDoesNotExistException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileException' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileFinder' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileFinder.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileGeneric' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileGeneric.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileLink' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileLink.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileLinkRead' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileLinkRead.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileLinkReadWrite' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileLinkReadWrite.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileRead' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileRead.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileReadWrite' => $vendorDir . '/psy/psysh/src/Readline/Hoa/FileReadWrite.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IStream' => $vendorDir . '/psy/psysh/src/Readline/Hoa/IStream.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IteratorFileSystem' => $vendorDir . '/psy/psysh/src/Readline/Hoa/IteratorFileSystem.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IteratorRecursiveDirectory' => $vendorDir . '/psy/psysh/src/Readline/Hoa/IteratorRecursiveDirectory.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IteratorSplFileInfo' => $vendorDir . '/psy/psysh/src/Readline/Hoa/IteratorSplFileInfo.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Protocol' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Protocol.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolException' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ProtocolException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolNode' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ProtocolNode.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolNodeLibrary' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ProtocolNodeLibrary.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolWrapper' => $vendorDir . '/psy/psysh/src/Readline/Hoa/ProtocolWrapper.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Readline' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Readline.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Stream' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Stream.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamBufferable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamBufferable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamContext' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamContext.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamException' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamIn' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamIn.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamLockable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamLockable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamOut' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamOut.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamPathable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamPathable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamPointable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamPointable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamStatable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamStatable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamTouchable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/StreamTouchable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Ustring' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Ustring.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Xcallable' => $vendorDir . '/psy/psysh/src/Readline/Hoa/Xcallable.php',
|
||||||
'Psy\\Readline\\Libedit' => $vendorDir . '/psy/psysh/src/Readline/Libedit.php',
|
'Psy\\Readline\\Libedit' => $vendorDir . '/psy/psysh/src/Readline/Libedit.php',
|
||||||
'Psy\\Readline\\Readline' => $vendorDir . '/psy/psysh/src/Readline/Readline.php',
|
'Psy\\Readline\\Readline' => $vendorDir . '/psy/psysh/src/Readline/Readline.php',
|
||||||
'Psy\\Readline\\Transient' => $vendorDir . '/psy/psysh/src/Readline/Transient.php',
|
'Psy\\Readline\\Transient' => $vendorDir . '/psy/psysh/src/Readline/Transient.php',
|
||||||
|
'Psy\\Readline\\Userland' => $vendorDir . '/psy/psysh/src/Readline/Userland.php',
|
||||||
'Psy\\Reflection\\ReflectionClassConstant' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionClassConstant.php',
|
'Psy\\Reflection\\ReflectionClassConstant' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionClassConstant.php',
|
||||||
'Psy\\Reflection\\ReflectionConstant' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionConstant.php',
|
'Psy\\Reflection\\ReflectionConstant' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionConstant.php',
|
||||||
'Psy\\Reflection\\ReflectionConstant_' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionConstant_.php',
|
'Psy\\Reflection\\ReflectionConstant_' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionConstant_.php',
|
||||||
|
|||||||
8
vendor/composer/autoload_files.php
vendored
8
vendor/composer/autoload_files.php
vendored
@@ -6,22 +6,22 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||||||
$baseDir = dirname($vendorDir);
|
$baseDir = dirname($vendorDir);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
|
||||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||||
|
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||||
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||||
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||||
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
|
||||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
|
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
|
||||||
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
|
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
||||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||||
|
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||||
'9c67151ae59aff4788964ce8eb2a0f43' => $vendorDir . '/clue/stream-filter/src/functions_include.php',
|
'9c67151ae59aff4788964ce8eb2a0f43' => $vendorDir . '/clue/stream-filter/src/functions_include.php',
|
||||||
'8cff32064859f4559445b89279f3199c' => $vendorDir . '/php-http/message/src/filters.php',
|
'8cff32064859f4559445b89279f3199c' => $vendorDir . '/php-http/message/src/filters.php',
|
||||||
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
||||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||||
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
|
|
||||||
'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php',
|
'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php',
|
||||||
|
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
|
||||||
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
|
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
|
||||||
'23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
|
'23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
|
||||||
'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
|
'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
|
||||||
|
|||||||
73
vendor/composer/autoload_static.php
vendored
73
vendor/composer/autoload_static.php
vendored
@@ -7,22 +7,22 @@ namespace Composer\Autoload;
|
|||||||
class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
||||||
{
|
{
|
||||||
public static $files = array (
|
public static $files = array (
|
||||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
|
||||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||||
|
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||||
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||||
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||||
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
|
||||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
|
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
|
||||||
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
|
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
||||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||||
|
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||||
'9c67151ae59aff4788964ce8eb2a0f43' => __DIR__ . '/..' . '/clue/stream-filter/src/functions_include.php',
|
'9c67151ae59aff4788964ce8eb2a0f43' => __DIR__ . '/..' . '/clue/stream-filter/src/functions_include.php',
|
||||||
'8cff32064859f4559445b89279f3199c' => __DIR__ . '/..' . '/php-http/message/src/filters.php',
|
'8cff32064859f4559445b89279f3199c' => __DIR__ . '/..' . '/php-http/message/src/filters.php',
|
||||||
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
||||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||||
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
|
|
||||||
'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php',
|
'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php',
|
||||||
|
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
|
||||||
'2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
|
'2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
|
||||||
'23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php',
|
'23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php',
|
||||||
'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php',
|
'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php',
|
||||||
@@ -641,7 +641,6 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'App\\SupportedApps\\Drone\\Drone' => __DIR__ . '/../..' . '/app/SupportedApps/Drone/Drone.php',
|
'App\\SupportedApps\\Drone\\Drone' => __DIR__ . '/../..' . '/app/SupportedApps/Drone/Drone.php',
|
||||||
'App\\SupportedApps\\Droppy\\Droppy' => __DIR__ . '/../..' . '/app/SupportedApps/Droppy/Droppy.php',
|
'App\\SupportedApps\\Droppy\\Droppy' => __DIR__ . '/../..' . '/app/SupportedApps/Droppy/Droppy.php',
|
||||||
'App\\SupportedApps\\Duplicacy\\Duplicacy' => __DIR__ . '/../..' . '/app/SupportedApps/Duplicacy/Duplicacy.php',
|
'App\\SupportedApps\\Duplicacy\\Duplicacy' => __DIR__ . '/../..' . '/app/SupportedApps/Duplicacy/Duplicacy.php',
|
||||||
'App\\SupportedApps\\Duplicati\\Duplicati' => __DIR__ . '/../..' . '/app/SupportedApps/Duplicati/Duplicati.php',
|
|
||||||
'App\\SupportedApps\\ESPHome\\ESPHome' => __DIR__ . '/../..' . '/app/SupportedApps/ESPHome/ESPHome.php',
|
'App\\SupportedApps\\ESPHome\\ESPHome' => __DIR__ . '/../..' . '/app/SupportedApps/ESPHome/ESPHome.php',
|
||||||
'App\\SupportedApps\\Element\\Element' => __DIR__ . '/../..' . '/app/SupportedApps/Element/Element.php',
|
'App\\SupportedApps\\Element\\Element' => __DIR__ . '/../..' . '/app/SupportedApps/Element/Element.php',
|
||||||
'App\\SupportedApps\\EmbyStat\\EmbyStat' => __DIR__ . '/../..' . '/app/SupportedApps/EmbyStat/EmbyStat.php',
|
'App\\SupportedApps\\EmbyStat\\EmbyStat' => __DIR__ . '/../..' . '/app/SupportedApps/EmbyStat/EmbyStat.php',
|
||||||
@@ -649,6 +648,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'App\\SupportedApps\\FileBrowser\\FileBrowser' => __DIR__ . '/../..' . '/app/SupportedApps/FileBrowser/FileBrowser.php',
|
'App\\SupportedApps\\FileBrowser\\FileBrowser' => __DIR__ . '/../..' . '/app/SupportedApps/FileBrowser/FileBrowser.php',
|
||||||
'App\\SupportedApps\\FileFlows\\FileFlows' => __DIR__ . '/../..' . '/app/SupportedApps/FileFlows/FileFlows.php',
|
'App\\SupportedApps\\FileFlows\\FileFlows' => __DIR__ . '/../..' . '/app/SupportedApps/FileFlows/FileFlows.php',
|
||||||
'App\\SupportedApps\\FileRun\\FileRun' => __DIR__ . '/../..' . '/app/SupportedApps/FileRun/FileRun.php',
|
'App\\SupportedApps\\FileRun\\FileRun' => __DIR__ . '/../..' . '/app/SupportedApps/FileRun/FileRun.php',
|
||||||
|
'App\\SupportedApps\\Firefly3\\Firefly3' => __DIR__ . '/../..' . '/app/SupportedApps/Firefly3/Firefly3.php',
|
||||||
'App\\SupportedApps\\Firefly\\Firefly' => __DIR__ . '/../..' . '/app/SupportedApps/Firefly/Firefly.php',
|
'App\\SupportedApps\\Firefly\\Firefly' => __DIR__ . '/../..' . '/app/SupportedApps/Firefly/Firefly.php',
|
||||||
'App\\SupportedApps\\FirefoxSend\\FirefoxSend' => __DIR__ . '/../..' . '/app/SupportedApps/FirefoxSend/FirefoxSend.php',
|
'App\\SupportedApps\\FirefoxSend\\FirefoxSend' => __DIR__ . '/../..' . '/app/SupportedApps/FirefoxSend/FirefoxSend.php',
|
||||||
'App\\SupportedApps\\FlexGet\\FlexGet' => __DIR__ . '/../..' . '/app/SupportedApps/FlexGet/FlexGet.php',
|
'App\\SupportedApps\\FlexGet\\FlexGet' => __DIR__ . '/../..' . '/app/SupportedApps/FlexGet/FlexGet.php',
|
||||||
@@ -846,7 +846,6 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'App\\SupportedApps\\TarTenNinety\\TarTenNinety' => __DIR__ . '/../..' . '/app/SupportedApps/TarTenNinety/TarTenNinety.php',
|
'App\\SupportedApps\\TarTenNinety\\TarTenNinety' => __DIR__ . '/../..' . '/app/SupportedApps/TarTenNinety/TarTenNinety.php',
|
||||||
'App\\SupportedApps\\TasmoAdmin\\TasmoAdmin' => __DIR__ . '/../..' . '/app/SupportedApps/TasmoAdmin/TasmoAdmin.php',
|
'App\\SupportedApps\\TasmoAdmin\\TasmoAdmin' => __DIR__ . '/../..' . '/app/SupportedApps/TasmoAdmin/TasmoAdmin.php',
|
||||||
'App\\SupportedApps\\Tasmota\\Tasmota' => __DIR__ . '/../..' . '/app/SupportedApps/Tasmota/Tasmota.php',
|
'App\\SupportedApps\\Tasmota\\Tasmota' => __DIR__ . '/../..' . '/app/SupportedApps/Tasmota/Tasmota.php',
|
||||||
'App\\SupportedApps\\Tautulli\\Tautulli' => __DIR__ . '/../..' . '/app/SupportedApps/Tautulli/Tautulli.php',
|
|
||||||
'App\\SupportedApps\\Tdarr\\Tdarr' => __DIR__ . '/../..' . '/app/SupportedApps/Tdarr/Tdarr.php',
|
'App\\SupportedApps\\Tdarr\\Tdarr' => __DIR__ . '/../..' . '/app/SupportedApps/Tdarr/Tdarr.php',
|
||||||
'App\\SupportedApps\\TechnitiumDNS\\TechnitiumDNS' => __DIR__ . '/../..' . '/app/SupportedApps/TechnitiumDNS/TechnitiumDNS.php',
|
'App\\SupportedApps\\TechnitiumDNS\\TechnitiumDNS' => __DIR__ . '/../..' . '/app/SupportedApps/TechnitiumDNS/TechnitiumDNS.php',
|
||||||
'App\\SupportedApps\\Teedy\\Teedy' => __DIR__ . '/../..' . '/app/SupportedApps/Teedy/Teedy.php',
|
'App\\SupportedApps\\Teedy\\Teedy' => __DIR__ . '/../..' . '/app/SupportedApps/Teedy/Teedy.php',
|
||||||
@@ -951,6 +950,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'Carbon\\Exceptions\\BadFluentConstructorException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php',
|
'Carbon\\Exceptions\\BadFluentConstructorException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php',
|
||||||
'Carbon\\Exceptions\\BadFluentSetterException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php',
|
'Carbon\\Exceptions\\BadFluentSetterException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php',
|
||||||
'Carbon\\Exceptions\\BadMethodCallException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php',
|
'Carbon\\Exceptions\\BadMethodCallException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php',
|
||||||
|
'Carbon\\Exceptions\\EndLessPeriodException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/EndLessPeriodException.php',
|
||||||
'Carbon\\Exceptions\\Exception' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/Exception.php',
|
'Carbon\\Exceptions\\Exception' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/Exception.php',
|
||||||
'Carbon\\Exceptions\\ImmutableException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php',
|
'Carbon\\Exceptions\\ImmutableException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php',
|
||||||
'Carbon\\Exceptions\\InvalidArgumentException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php',
|
'Carbon\\Exceptions\\InvalidArgumentException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php',
|
||||||
@@ -1856,6 +1856,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
|
'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
|
||||||
'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
|
'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
|
||||||
'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
|
'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
|
||||||
|
'GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php',
|
||||||
'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
|
'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
|
||||||
'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
|
'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
|
||||||
'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php',
|
'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php',
|
||||||
@@ -3341,6 +3342,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'Mockery\\Undefined' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Undefined.php',
|
'Mockery\\Undefined' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Undefined.php',
|
||||||
'Mockery\\VerificationDirector' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/VerificationDirector.php',
|
'Mockery\\VerificationDirector' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/VerificationDirector.php',
|
||||||
'Mockery\\VerificationExpectation' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/VerificationExpectation.php',
|
'Mockery\\VerificationExpectation' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/VerificationExpectation.php',
|
||||||
|
'Monolog\\Attribute\\AsMonologProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php',
|
||||||
'Monolog\\DateTimeImmutable' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
|
'Monolog\\DateTimeImmutable' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
|
||||||
'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php',
|
'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php',
|
||||||
'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
|
'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
|
||||||
@@ -3374,6 +3376,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'Monolog\\Handler\\DoctrineCouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
|
'Monolog\\Handler\\DoctrineCouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php',
|
||||||
'Monolog\\Handler\\DynamoDbHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
|
'Monolog\\Handler\\DynamoDbHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php',
|
||||||
'Monolog\\Handler\\ElasticaHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php',
|
'Monolog\\Handler\\ElasticaHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php',
|
||||||
|
'Monolog\\Handler\\ElasticsearchHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php',
|
||||||
'Monolog\\Handler\\ErrorLogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
|
'Monolog\\Handler\\ErrorLogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php',
|
||||||
'Monolog\\Handler\\FallbackGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php',
|
'Monolog\\Handler\\FallbackGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php',
|
||||||
'Monolog\\Handler\\FilterHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
|
'Monolog\\Handler\\FilterHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php',
|
||||||
@@ -3424,6 +3427,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'Monolog\\Handler\\SqsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SqsHandler.php',
|
'Monolog\\Handler\\SqsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SqsHandler.php',
|
||||||
'Monolog\\Handler\\StreamHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
|
'Monolog\\Handler\\StreamHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
|
||||||
'Monolog\\Handler\\SwiftMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
|
'Monolog\\Handler\\SwiftMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php',
|
||||||
|
'Monolog\\Handler\\SymfonyMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php',
|
||||||
'Monolog\\Handler\\SyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
|
'Monolog\\Handler\\SyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php',
|
||||||
'Monolog\\Handler\\SyslogUdpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
|
'Monolog\\Handler\\SyslogUdpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php',
|
||||||
'Monolog\\Handler\\SyslogUdp\\UdpSocket' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
|
'Monolog\\Handler\\SyslogUdp\\UdpSocket' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php',
|
||||||
@@ -3432,6 +3436,7 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'Monolog\\Handler\\WebRequestRecognizerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
|
'Monolog\\Handler\\WebRequestRecognizerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
|
||||||
'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
|
'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
|
||||||
'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
|
'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
|
||||||
|
'Monolog\\LogRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/LogRecord.php',
|
||||||
'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php',
|
'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php',
|
||||||
'Monolog\\Processor\\GitProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
|
'Monolog\\Processor\\GitProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php',
|
||||||
'Monolog\\Processor\\HostnameProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php',
|
'Monolog\\Processor\\HostnameProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php',
|
||||||
@@ -4383,9 +4388,65 @@ class ComposerStaticInit4b6fb9210a1ea37c2db27b8ff53a1ecf
|
|||||||
'Psy\\ParserFactory' => __DIR__ . '/..' . '/psy/psysh/src/ParserFactory.php',
|
'Psy\\ParserFactory' => __DIR__ . '/..' . '/psy/psysh/src/ParserFactory.php',
|
||||||
'Psy\\Readline\\GNUReadline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/GNUReadline.php',
|
'Psy\\Readline\\GNUReadline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/GNUReadline.php',
|
||||||
'Psy\\Readline\\HoaConsole' => __DIR__ . '/..' . '/psy/psysh/src/Readline/HoaConsole.php',
|
'Psy\\Readline\\HoaConsole' => __DIR__ . '/..' . '/psy/psysh/src/Readline/HoaConsole.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Autocompleter' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Autocompleter.php',
|
||||||
|
'Psy\\Readline\\Hoa\\AutocompleterAggregate' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/AutocompleterAggregate.php',
|
||||||
|
'Psy\\Readline\\Hoa\\AutocompleterPath' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/AutocompleterPath.php',
|
||||||
|
'Psy\\Readline\\Hoa\\AutocompleterWord' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/AutocompleterWord.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Console' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Console.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleCursor' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleCursor.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleException' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleInput' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleInput.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleOutput' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleOutput.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleProcessus' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleProcessus.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleTput' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleTput.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ConsoleWindow' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ConsoleWindow.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Event' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Event.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventBucket' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/EventBucket.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventException' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/EventException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventListenable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/EventListenable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventListener' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/EventListener.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventListens' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/EventListens.php',
|
||||||
|
'Psy\\Readline\\Hoa\\EventSource' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/EventSource.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Exception' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Exception.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ExceptionIdle' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ExceptionIdle.php',
|
||||||
|
'Psy\\Readline\\Hoa\\File' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/File.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileDirectory' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileDirectory.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileDoesNotExistException' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileDoesNotExistException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileException' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileFinder' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileFinder.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileGeneric' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileGeneric.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileLink' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileLink.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileLinkRead' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileLinkRead.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileLinkReadWrite' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileLinkReadWrite.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileRead' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileRead.php',
|
||||||
|
'Psy\\Readline\\Hoa\\FileReadWrite' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/FileReadWrite.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IStream' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/IStream.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IteratorFileSystem' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/IteratorFileSystem.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IteratorRecursiveDirectory' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/IteratorRecursiveDirectory.php',
|
||||||
|
'Psy\\Readline\\Hoa\\IteratorSplFileInfo' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/IteratorSplFileInfo.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Protocol' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Protocol.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolException' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ProtocolException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolNode' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ProtocolNode.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolNodeLibrary' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ProtocolNodeLibrary.php',
|
||||||
|
'Psy\\Readline\\Hoa\\ProtocolWrapper' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/ProtocolWrapper.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Readline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Readline.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Stream' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Stream.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamBufferable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamBufferable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamContext' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamContext.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamException' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamException.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamIn' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamIn.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamLockable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamLockable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamOut' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamOut.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamPathable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamPathable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamPointable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamPointable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamStatable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamStatable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\StreamTouchable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/StreamTouchable.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Ustring' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Ustring.php',
|
||||||
|
'Psy\\Readline\\Hoa\\Xcallable' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Hoa/Xcallable.php',
|
||||||
'Psy\\Readline\\Libedit' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Libedit.php',
|
'Psy\\Readline\\Libedit' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Libedit.php',
|
||||||
'Psy\\Readline\\Readline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Readline.php',
|
'Psy\\Readline\\Readline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Readline.php',
|
||||||
'Psy\\Readline\\Transient' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Transient.php',
|
'Psy\\Readline\\Transient' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Transient.php',
|
||||||
|
'Psy\\Readline\\Userland' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Userland.php',
|
||||||
'Psy\\Reflection\\ReflectionClassConstant' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionClassConstant.php',
|
'Psy\\Reflection\\ReflectionClassConstant' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionClassConstant.php',
|
||||||
'Psy\\Reflection\\ReflectionConstant' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionConstant.php',
|
'Psy\\Reflection\\ReflectionConstant' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionConstant.php',
|
||||||
'Psy\\Reflection\\ReflectionConstant_' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionConstant_.php',
|
'Psy\\Reflection\\ReflectionConstant_' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionConstant_.php',
|
||||||
|
|||||||
702
vendor/composer/installed.json
vendored
702
vendor/composer/installed.json
vendored
File diff suppressed because it is too large
Load Diff
280
vendor/composer/installed.php
vendored
280
vendor/composer/installed.php
vendored
@@ -1,11 +1,11 @@
|
|||||||
<?php return array(
|
<?php return array(
|
||||||
'root' => array(
|
'root' => array(
|
||||||
'pretty_version' => '2.3.x-dev',
|
'pretty_version' => '2.x-dev',
|
||||||
'version' => '2.3.9999999.9999999-dev',
|
'version' => '2.9999999.9999999.9999999-dev',
|
||||||
'type' => 'project',
|
'type' => 'project',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'ed3dbf2f1420e720c7bdcf0c8b36830bf6368c6d',
|
'reference' => 'bbae811cd8f4bbfde6df468dbd9053d4a808c250',
|
||||||
'name' => 'laravel/laravel',
|
'name' => 'laravel/laravel',
|
||||||
'dev' => true,
|
'dev' => true,
|
||||||
),
|
),
|
||||||
@@ -113,21 +113,21 @@
|
|||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
'graham-campbell/bounded-cache' => array(
|
'graham-campbell/bounded-cache' => array(
|
||||||
'pretty_version' => 'v1.1.3',
|
'pretty_version' => 'v1.2.0',
|
||||||
'version' => '1.1.3.0',
|
'version' => '1.2.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../graham-campbell/bounded-cache',
|
'install_path' => __DIR__ . '/../graham-campbell/bounded-cache',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'cbb12c2d7b2f93f4d8c2a1e46e16fb1e5842c92b',
|
'reference' => '91ec403b5c66f31d446b317bf3f0958205353fe2',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'graham-campbell/github' => array(
|
'graham-campbell/github' => array(
|
||||||
'pretty_version' => 'v10.5.0',
|
'pretty_version' => 'v10.6.0',
|
||||||
'version' => '10.5.0.0',
|
'version' => '10.6.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../graham-campbell/github',
|
'install_path' => __DIR__ . '/../graham-campbell/github',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'b88f6737bcc088a84ce3ec863a50afbc3ab8e867',
|
'reference' => '3b25fdfd160827cbc103a737fee08f7f113b6923',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'graham-campbell/manager' => array(
|
'graham-campbell/manager' => array(
|
||||||
@@ -140,12 +140,12 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'guzzlehttp/guzzle' => array(
|
'guzzlehttp/guzzle' => array(
|
||||||
'pretty_version' => '7.4.1',
|
'pretty_version' => '7.4.5',
|
||||||
'version' => '7.4.1.0',
|
'version' => '7.4.5.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
|
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'ee0a041b1760e6a53d2a39c8c34115adc2af2c79',
|
'reference' => '1dd98b0564cb3f6bd16ce683cb755f94c10fbd82',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'guzzlehttp/promises' => array(
|
'guzzlehttp/promises' => array(
|
||||||
@@ -158,12 +158,12 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'guzzlehttp/psr7' => array(
|
'guzzlehttp/psr7' => array(
|
||||||
'pretty_version' => '2.1.0',
|
'pretty_version' => '2.4.0',
|
||||||
'version' => '2.1.0.0',
|
'version' => '2.4.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../guzzlehttp/psr7',
|
'install_path' => __DIR__ . '/../guzzlehttp/psr7',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '089edd38f5b8abba6cb01567c2a8aaa47cec4c72',
|
'reference' => '13388f00956b1503577598873fffb5ae994b5737',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'hamcrest/hamcrest-php' => array(
|
'hamcrest/hamcrest-php' => array(
|
||||||
@@ -350,12 +350,12 @@
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'knplabs/github-api' => array(
|
'knplabs/github-api' => array(
|
||||||
'pretty_version' => 'v3.5.1',
|
'pretty_version' => 'v3.6.0',
|
||||||
'version' => '3.5.1.0',
|
'version' => '3.6.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../knplabs/github-api',
|
'install_path' => __DIR__ . '/../knplabs/github-api',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '37b167998e8e1f318b3d99633675cfa007540565',
|
'reference' => '7f283177b96eb626e5cf6038d8771859a0af4b02',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'kodova/hamcrest-php' => array(
|
'kodova/hamcrest-php' => array(
|
||||||
@@ -374,21 +374,21 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'laravel/laravel' => array(
|
'laravel/laravel' => array(
|
||||||
'pretty_version' => '2.3.x-dev',
|
'pretty_version' => '2.x-dev',
|
||||||
'version' => '2.3.9999999.9999999-dev',
|
'version' => '2.9999999.9999999.9999999-dev',
|
||||||
'type' => 'project',
|
'type' => 'project',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'ed3dbf2f1420e720c7bdcf0c8b36830bf6368c6d',
|
'reference' => 'bbae811cd8f4bbfde6df468dbd9053d4a808c250',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'laravel/tinker' => array(
|
'laravel/tinker' => array(
|
||||||
'pretty_version' => 'v2.7.0',
|
'pretty_version' => 'v2.7.2',
|
||||||
'version' => '2.7.0.0',
|
'version' => '2.7.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../laravel/tinker',
|
'install_path' => __DIR__ . '/../laravel/tinker',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '5f2f9815b7631b9f586a3de7933c25f9327d4073',
|
'reference' => 'dff39b661e827dae6e092412f976658df82dbac5',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'laravel/ui' => array(
|
'laravel/ui' => array(
|
||||||
@@ -428,12 +428,12 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'league/mime-type-detection' => array(
|
'league/mime-type-detection' => array(
|
||||||
'pretty_version' => '1.9.0',
|
'pretty_version' => '1.11.0',
|
||||||
'version' => '1.9.0.0',
|
'version' => '1.11.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../league/mime-type-detection',
|
'install_path' => __DIR__ . '/../league/mime-type-detection',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'aa70e813a6ad3d1558fc927863d47309b4c23e69',
|
'reference' => 'ff6248ea87a9f116e78edd6002e39e5128a0d4dd',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'mockery/mockery' => array(
|
'mockery/mockery' => array(
|
||||||
@@ -446,12 +446,12 @@
|
|||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
'monolog/monolog' => array(
|
'monolog/monolog' => array(
|
||||||
'pretty_version' => '2.3.5',
|
'pretty_version' => '2.7.0',
|
||||||
'version' => '2.3.5.0',
|
'version' => '2.7.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../monolog/monolog',
|
'install_path' => __DIR__ . '/../monolog/monolog',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'fd4380d6fc37626e2f799f29d91195040137eba9',
|
'reference' => '5579edf28aee1190a798bfa5be8bc16c563bd524',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'myclabs/deep-copy' => array(
|
'myclabs/deep-copy' => array(
|
||||||
@@ -464,21 +464,21 @@
|
|||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
'nesbot/carbon' => array(
|
'nesbot/carbon' => array(
|
||||||
'pretty_version' => '2.57.0',
|
'pretty_version' => '2.59.0',
|
||||||
'version' => '2.57.0.0',
|
'version' => '2.59.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../nesbot/carbon',
|
'install_path' => __DIR__ . '/../nesbot/carbon',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '4a54375c21eea4811dbd1149fe6b246517554e78',
|
'reference' => '9cea2f72585a46d0651ee6d4c8c8f752e78c16c6',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'nikic/php-parser' => array(
|
'nikic/php-parser' => array(
|
||||||
'pretty_version' => 'v4.13.2',
|
'pretty_version' => 'v4.14.0',
|
||||||
'version' => '4.13.2.0',
|
'version' => '4.14.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../nikic/php-parser',
|
'install_path' => __DIR__ . '/../nikic/php-parser',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '210577fe3cf7badcc5814d99455df46564f3c077',
|
'reference' => '34bea19b6e03d8153165d8f30bba4c3be86184c1',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'opis/closure' => array(
|
'opis/closure' => array(
|
||||||
@@ -527,12 +527,12 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'php-http/discovery' => array(
|
'php-http/discovery' => array(
|
||||||
'pretty_version' => '1.14.1',
|
'pretty_version' => '1.14.2',
|
||||||
'version' => '1.14.1.0',
|
'version' => '1.14.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../php-http/discovery',
|
'install_path' => __DIR__ . '/../php-http/discovery',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'de90ab2b41d7d61609f504e031339776bc8c7223',
|
'reference' => 'c8d48852fbc052454af42f6de27635ddd916b959',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'php-http/httplug' => array(
|
'php-http/httplug' => array(
|
||||||
@@ -605,12 +605,12 @@
|
|||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
'phpdocumentor/type-resolver' => array(
|
'phpdocumentor/type-resolver' => array(
|
||||||
'pretty_version' => '1.6.0',
|
'pretty_version' => '1.6.1',
|
||||||
'version' => '1.6.0.0',
|
'version' => '1.6.1.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../phpdocumentor/type-resolver',
|
'install_path' => __DIR__ . '/../phpdocumentor/type-resolver',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '93ebd0014cab80c4ea9f5e297ea48672f1b87706',
|
'reference' => '77a32518733312af16a44300404e945338981de3',
|
||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
'phpoption/phpoption' => array(
|
'phpoption/phpoption' => array(
|
||||||
@@ -796,8 +796,8 @@
|
|||||||
'psr/log-implementation' => array(
|
'psr/log-implementation' => array(
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
'provided' => array(
|
'provided' => array(
|
||||||
0 => '1.0.0 || 2.0.0 || 3.0.0',
|
0 => '1.0|2.0',
|
||||||
1 => '1.0|2.0',
|
1 => '1.0.0 || 2.0.0 || 3.0.0',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'psr/simple-cache' => array(
|
'psr/simple-cache' => array(
|
||||||
@@ -816,12 +816,12 @@
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'psy/psysh' => array(
|
'psy/psysh' => array(
|
||||||
'pretty_version' => 'v0.11.2',
|
'pretty_version' => 'v0.11.5',
|
||||||
'version' => '0.11.2.0',
|
'version' => '0.11.5.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../psy/psysh',
|
'install_path' => __DIR__ . '/../psy/psysh',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '7f7da640d68b9c9fec819caae7c744a213df6514',
|
'reference' => 'c23686f9c48ca202710dbb967df8385a952a2daf',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'ralouphie/getallheaders' => array(
|
'ralouphie/getallheaders' => array(
|
||||||
@@ -966,21 +966,21 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/cache' => array(
|
'symfony/cache' => array(
|
||||||
'pretty_version' => 'v5.4.6',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.6.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/cache',
|
'install_path' => __DIR__ . '/../symfony/cache',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'c0718d0e01ac14251a45cc9c8b93716ec41ae64b',
|
'reference' => 'c4e387b739022fd4b20abd8edb2143c44c5daa14',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/cache-contracts' => array(
|
'symfony/cache-contracts' => array(
|
||||||
'pretty_version' => 'v2.5.0',
|
'pretty_version' => 'v2.5.2',
|
||||||
'version' => '2.5.0.0',
|
'version' => '2.5.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/cache-contracts',
|
'install_path' => __DIR__ . '/../symfony/cache-contracts',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'ac2e168102a2e06a2624f0379bde94cd5854ced2',
|
'reference' => '64be4a7acb83b6f2bf6de9a02cee6dad41277ebc',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/cache-implementation' => array(
|
'symfony/cache-implementation' => array(
|
||||||
@@ -990,12 +990,12 @@
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'symfony/console' => array(
|
'symfony/console' => array(
|
||||||
'pretty_version' => 'v5.4.5',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.5.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/console',
|
'install_path' => __DIR__ . '/../symfony/console',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'd8111acc99876953f52fe16d4c50eb60940d49ad',
|
'reference' => '4d671ab4ddac94ee439ea73649c69d9d200b5000',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/css-selector' => array(
|
'symfony/css-selector' => array(
|
||||||
@@ -1008,39 +1008,39 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/deprecation-contracts' => array(
|
'symfony/deprecation-contracts' => array(
|
||||||
'pretty_version' => 'v2.5.0',
|
'pretty_version' => 'v2.5.2',
|
||||||
'version' => '2.5.0.0',
|
'version' => '2.5.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
|
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '6f981ee24cf69ee7ce9736146d1c57c2780598a8',
|
'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/error-handler' => array(
|
'symfony/error-handler' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.9',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.9.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/error-handler',
|
'install_path' => __DIR__ . '/../symfony/error-handler',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'c4ffc2cd919950d13c8c9ce32a70c70214c3ffc5',
|
'reference' => 'c116cda1f51c678782768dce89a45f13c949455d',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/event-dispatcher' => array(
|
'symfony/event-dispatcher' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.9',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.9.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/event-dispatcher',
|
'install_path' => __DIR__ . '/../symfony/event-dispatcher',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'dec8a9f58d20df252b9cd89f1c6c1530f747685d',
|
'reference' => '8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/event-dispatcher-contracts' => array(
|
'symfony/event-dispatcher-contracts' => array(
|
||||||
'pretty_version' => 'v2.5.0',
|
'pretty_version' => 'v2.5.2',
|
||||||
'version' => '2.5.0.0',
|
'version' => '2.5.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts',
|
'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '66bea3b09be61613cd3b4043a65a8ec48cfa6d2a',
|
'reference' => 'f98b54df6ad059855739db6fcbc2d36995283fe1',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/event-dispatcher-implementation' => array(
|
'symfony/event-dispatcher-implementation' => array(
|
||||||
@@ -1050,39 +1050,39 @@
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'symfony/finder' => array(
|
'symfony/finder' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.8',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.8.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/finder',
|
'install_path' => __DIR__ . '/../symfony/finder',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '231313534dded84c7ecaa79d14bc5da4ccb69b7d',
|
'reference' => '9b630f3427f3ebe7cd346c277a1408b00249dad9',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/http-foundation' => array(
|
'symfony/http-foundation' => array(
|
||||||
'pretty_version' => 'v5.4.6',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.6.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/http-foundation',
|
'install_path' => __DIR__ . '/../symfony/http-foundation',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '34e89bc147633c0f9dd6caaaf56da3b806a21465',
|
'reference' => 'e7793b7906f72a8cc51054fbca9dcff7a8af1c1e',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/http-kernel' => array(
|
'symfony/http-kernel' => array(
|
||||||
'pretty_version' => 'v5.4.6',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.6.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/http-kernel',
|
'install_path' => __DIR__ . '/../symfony/http-kernel',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'd41f29ae9af1b5f40c7ebcddf09082953229411d',
|
'reference' => '255ae3b0a488d78fbb34da23d3e0c059874b5948',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/mime' => array(
|
'symfony/mime' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/mime',
|
'install_path' => __DIR__ . '/../symfony/mime',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'e1503cfb5c9a225350f549d3bb99296f4abfb80f',
|
'reference' => '02265e1e5111c3cd7480387af25e82378b7ab9cc',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/options-resolver' => array(
|
'symfony/options-resolver' => array(
|
||||||
@@ -1095,129 +1095,129 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-ctype' => array(
|
'symfony/polyfill-ctype' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
|
'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '30885182c981ab175d4d034db0f6f469898070ab',
|
'reference' => '6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-iconv' => array(
|
'symfony/polyfill-iconv' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-iconv',
|
'install_path' => __DIR__ . '/../symfony/polyfill-iconv',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'f1aed619e28cb077fc83fac8c4c0383578356e40',
|
'reference' => '143f1881e655bebca1312722af8068de235ae5dc',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-intl-grapheme' => array(
|
'symfony/polyfill-intl-grapheme' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme',
|
'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '81b86b50cf841a64252b439e738e97f4a34e2783',
|
'reference' => '433d05519ce6990bf3530fba6957499d327395c2',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-intl-idn' => array(
|
'symfony/polyfill-intl-idn' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn',
|
'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '749045c69efb97c70d25d7463abba812e91f3a44',
|
'reference' => '59a8d271f00dd0e4c2e518104cc7963f655a1aa8',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-intl-normalizer' => array(
|
'symfony/polyfill-intl-normalizer' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer',
|
'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8',
|
'reference' => '219aa369ceff116e673852dce47c3a41794c14bd',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-mbstring' => array(
|
'symfony/polyfill-mbstring' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
|
'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '0abb51d2f102e00a4eefcf46ba7fec406d245825',
|
'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-php72' => array(
|
'symfony/polyfill-php72' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-php72',
|
'install_path' => __DIR__ . '/../symfony/polyfill-php72',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976',
|
'reference' => 'bf44a9fd41feaac72b074de600314a93e2ae78e2',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-php73' => array(
|
'symfony/polyfill-php73' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-php73',
|
'install_path' => __DIR__ . '/../symfony/polyfill-php73',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'cc5db0e22b3cb4111010e48785a97f670b350ca5',
|
'reference' => 'e440d35fa0286f77fb45b79a03fedbeda9307e85',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-php80' => array(
|
'symfony/polyfill-php80' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
|
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '4407588e0d3f1f52efb65fbe92babe41f37fe50c',
|
'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/polyfill-php81' => array(
|
'symfony/polyfill-php81' => array(
|
||||||
'pretty_version' => 'v1.25.0',
|
'pretty_version' => 'v1.26.0',
|
||||||
'version' => '1.25.0.0',
|
'version' => '1.26.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-php81',
|
'install_path' => __DIR__ . '/../symfony/polyfill-php81',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '5de4ba2d41b15f9bd0e19b2ab9674135813ec98f',
|
'reference' => '13f6d1271c663dc5ae9fb843a8f16521db7687a1',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/process' => array(
|
'symfony/process' => array(
|
||||||
'pretty_version' => 'v5.4.5',
|
'pretty_version' => 'v5.4.8',
|
||||||
'version' => '5.4.5.0',
|
'version' => '5.4.8.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/process',
|
'install_path' => __DIR__ . '/../symfony/process',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '95440409896f90a5f85db07a32b517ecec17fa4c',
|
'reference' => '597f3fff8e3e91836bb0bd38f5718b56ddbde2f3',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/routing' => array(
|
'symfony/routing' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.8',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.8.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/routing',
|
'install_path' => __DIR__ . '/../symfony/routing',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '44b29c7a94e867ccde1da604792f11a469958981',
|
'reference' => 'e07817bb6244ea33ef5ad31abc4a9288bef3f2f7',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/service-contracts' => array(
|
'symfony/service-contracts' => array(
|
||||||
'pretty_version' => 'v2.5.0',
|
'pretty_version' => 'v2.5.2',
|
||||||
'version' => '2.5.0.0',
|
'version' => '2.5.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/service-contracts',
|
'install_path' => __DIR__ . '/../symfony/service-contracts',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc',
|
'reference' => '4b426aac47d6427cc1a1d0f7e2ac724627f5966c',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/string' => array(
|
'symfony/string' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/string',
|
'install_path' => __DIR__ . '/../symfony/string',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '92043b7d8383e48104e411bc9434b260dbeb5a10',
|
'reference' => '4432bc7df82a554b3e413a8570ce2fea90e94097',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/thanks' => array(
|
'symfony/thanks' => array(
|
||||||
@@ -1230,21 +1230,21 @@
|
|||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
'symfony/translation' => array(
|
'symfony/translation' => array(
|
||||||
'pretty_version' => 'v5.4.6',
|
'pretty_version' => 'v5.4.9',
|
||||||
'version' => '5.4.6.0',
|
'version' => '5.4.9.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/translation',
|
'install_path' => __DIR__ . '/../symfony/translation',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'a7ca9fdfffb0174209440c2ffa1dee228e15d95b',
|
'reference' => '1639abc1177d26bcd4320e535e664cef067ab0ca',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/translation-contracts' => array(
|
'symfony/translation-contracts' => array(
|
||||||
'pretty_version' => 'v2.5.0',
|
'pretty_version' => 'v2.5.2',
|
||||||
'version' => '2.5.0.0',
|
'version' => '2.5.2.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/translation-contracts',
|
'install_path' => __DIR__ . '/../symfony/translation-contracts',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'd28150f0f44ce854e942b671fc2620a98aae1b1e',
|
'reference' => '136b19dd05cdf0709db6537d058bcab6dd6e2dbe',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/translation-implementation' => array(
|
'symfony/translation-implementation' => array(
|
||||||
@@ -1254,30 +1254,30 @@
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'symfony/var-dumper' => array(
|
'symfony/var-dumper' => array(
|
||||||
'pretty_version' => 'v5.4.6',
|
'pretty_version' => 'v5.4.9',
|
||||||
'version' => '5.4.6.0',
|
'version' => '5.4.9.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/var-dumper',
|
'install_path' => __DIR__ . '/../symfony/var-dumper',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '294e9da6e2e0dd404e983daa5aa74253d92c05d0',
|
'reference' => 'af52239a330fafd192c773795520dc2dd62b5657',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/var-exporter' => array(
|
'symfony/var-exporter' => array(
|
||||||
'pretty_version' => 'v5.4.6',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.6.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/var-exporter',
|
'install_path' => __DIR__ . '/../symfony/var-exporter',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '49e2355fe6f59ea30c18ebb68edf13b7e20582e5',
|
'reference' => '8fc03ee75eeece3d9be1ef47d26d79bea1afb340',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/yaml' => array(
|
'symfony/yaml' => array(
|
||||||
'pretty_version' => 'v5.4.3',
|
'pretty_version' => 'v5.4.10',
|
||||||
'version' => '5.4.3.0',
|
'version' => '5.4.10.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../symfony/yaml',
|
'install_path' => __DIR__ . '/../symfony/yaml',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'e80f87d2c9495966768310fc531b487ce64237a2',
|
'reference' => '04e42926429d9e8b39c174387ab990bf7817f7a2',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'theseer/tokenizer' => array(
|
'theseer/tokenizer' => array(
|
||||||
@@ -1317,12 +1317,12 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'webmozart/assert' => array(
|
'webmozart/assert' => array(
|
||||||
'pretty_version' => '1.10.0',
|
'pretty_version' => '1.11.0',
|
||||||
'version' => '1.10.0.0',
|
'version' => '1.11.0.0',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../webmozart/assert',
|
'install_path' => __DIR__ . '/../webmozart/assert',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25',
|
'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991',
|
||||||
'dev_requirement' => true,
|
'dev_requirement' => true,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
4
vendor/composer/platform_check.php
vendored
4
vendor/composer/platform_check.php
vendored
@@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
$issues = array();
|
$issues = array();
|
||||||
|
|
||||||
if (!(PHP_VERSION_ID >= 70400)) {
|
if (!(PHP_VERSION_ID >= 70415)) {
|
||||||
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
|
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.15". You are running ' . PHP_VERSION . '.';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($issues) {
|
if ($issues) {
|
||||||
|
|||||||
2
vendor/graham-campbell/bounded-cache/LICENSE
vendored
2
vendor/graham-campbell/bounded-cache/LICENSE
vendored
@@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2020 Graham Campbell <hello@gjcampbell.co.uk>
|
Copyright (c) 2020-2022 Graham Campbell <hello@gjcampbell.co.uk>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -11,14 +11,14 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.2.5 || ^8.0",
|
"php": "^7.4.15 || ^8.0.2",
|
||||||
"psr/simple-cache": "^1.0"
|
"psr/simple-cache": "^1.0 || ^2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"graham-campbell/analyzer": "^3.0",
|
"graham-campbell/analyzer": "^3.1",
|
||||||
"graham-campbell/testbench-core": "^3.1",
|
"graham-campbell/testbench-core": "^3.4",
|
||||||
"mockery/mockery": "^1.3.2",
|
"mockery/mockery": "^1.5",
|
||||||
"phpunit/phpunit": "^8.5.8 || ^9.3.7"
|
"phpunit/phpunit": "^9.5"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
|||||||
4
vendor/graham-campbell/github/composer.json
vendored
4
vendor/graham-campbell/github/composer.json
vendored
@@ -12,11 +12,11 @@
|
|||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.2.5 || ^8.0",
|
"php": "^7.2.5 || ^8.0",
|
||||||
"graham-campbell/bounded-cache": "^1.1",
|
"graham-campbell/bounded-cache": "^1.1 || ^2.0",
|
||||||
"graham-campbell/manager": "^4.7",
|
"graham-campbell/manager": "^4.7",
|
||||||
"illuminate/contracts": "^6.0 || ^7.0 || ^8.0 || ^9.0",
|
"illuminate/contracts": "^6.0 || ^7.0 || ^8.0 || ^9.0",
|
||||||
"illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0",
|
"illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0",
|
||||||
"knplabs/github-api": "3.5.*",
|
"knplabs/github-api": "3.6.*",
|
||||||
"symfony/cache": "^4.3 || ^5.0 || ^6.0"
|
"symfony/cache": "^4.3 || ^5.0 || ^6.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
|||||||
22
vendor/guzzlehttp/guzzle/CHANGELOG.md
vendored
22
vendor/guzzlehttp/guzzle/CHANGELOG.md
vendored
@@ -2,6 +2,28 @@
|
|||||||
|
|
||||||
Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
|
Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
|
||||||
|
|
||||||
|
## 7.4.5 - 2022-06-20
|
||||||
|
|
||||||
|
* Fix change in port should be considered a change in origin
|
||||||
|
* Fix `CURLOPT_HTTPAUTH` option not cleared on change of origin
|
||||||
|
|
||||||
|
## 7.4.4 - 2022-06-09
|
||||||
|
|
||||||
|
* Fix failure to strip Authorization header on HTTP downgrade
|
||||||
|
* Fix failure to strip the Cookie header on change in host or HTTP downgrade
|
||||||
|
|
||||||
|
## 7.4.3 - 2022-05-25
|
||||||
|
|
||||||
|
* Fix cross-domain cookie leakage
|
||||||
|
|
||||||
|
## 7.4.2 - 2022-03-20
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Remove curl auth on cross-domain redirects to align with the Authorization HTTP header
|
||||||
|
- Reject non-HTTP schemes in StreamHandler
|
||||||
|
- Set a default ssl.peer_name context in StreamHandler to allow `force_ip_resolve`
|
||||||
|
|
||||||
## 7.4.1 - 2021-12-06
|
## 7.4.1 - 2021-12-06
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
28
vendor/guzzlehttp/guzzle/README.md
vendored
28
vendor/guzzlehttp/guzzle/README.md
vendored
@@ -42,9 +42,9 @@ $promise->wait();
|
|||||||
|
|
||||||
We use GitHub issues only to discuss bugs and new features. For support please refer to:
|
We use GitHub issues only to discuss bugs and new features. For support please refer to:
|
||||||
|
|
||||||
- [Documentation](http://guzzlephp.org/)
|
- [Documentation](https://docs.guzzlephp.org)
|
||||||
- [Stack Overflow](http://stackoverflow.com/questions/tagged/guzzle)
|
- [Stack Overflow](https://stackoverflow.com/questions/tagged/guzzle)
|
||||||
- [#guzzle](https://app.slack.com/client/T0D2S9JCT/CE6UAAKL4) channel on [PHP-HTTP Slack](http://slack.httplug.io/)
|
- [#guzzle](https://app.slack.com/client/T0D2S9JCT/CE6UAAKL4) channel on [PHP-HTTP Slack](https://slack.httplug.io/)
|
||||||
- [Gitter](https://gitter.im/guzzle/guzzle)
|
- [Gitter](https://gitter.im/guzzle/guzzle)
|
||||||
|
|
||||||
|
|
||||||
@@ -60,23 +60,23 @@ composer require guzzlehttp/guzzle
|
|||||||
|
|
||||||
## Version Guidance
|
## Version Guidance
|
||||||
|
|
||||||
| Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version |
|
| Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version |
|
||||||
|---------|------------|---------------------|--------------|---------------------|---------------------|-------|-------------|
|
|---------|----------------|---------------------|--------------|---------------------|---------------------|-------|--------------|
|
||||||
| 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >= 5.3.3 |
|
| 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 |
|
||||||
| 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >= 5.4 |
|
| 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 |
|
||||||
| 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >= 5.4 |
|
| 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 |
|
||||||
| 6.x | Security fixes | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >= 5.5 |
|
| 6.x | Security fixes | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 |
|
||||||
| 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >= 7.2 |
|
| 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8.2 |
|
||||||
|
|
||||||
[guzzle-3-repo]: https://github.com/guzzle/guzzle3
|
[guzzle-3-repo]: https://github.com/guzzle/guzzle3
|
||||||
[guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
|
[guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
|
||||||
[guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3
|
[guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3
|
||||||
[guzzle-6-repo]: https://github.com/guzzle/guzzle/tree/6.5
|
[guzzle-6-repo]: https://github.com/guzzle/guzzle/tree/6.5
|
||||||
[guzzle-7-repo]: https://github.com/guzzle/guzzle
|
[guzzle-7-repo]: https://github.com/guzzle/guzzle
|
||||||
[guzzle-3-docs]: http://guzzle3.readthedocs.org
|
[guzzle-3-docs]: https://guzzle3.readthedocs.io/
|
||||||
[guzzle-5-docs]: http://docs.guzzlephp.org/en/5.3/
|
[guzzle-5-docs]: https://docs.guzzlephp.org/en/5.3/
|
||||||
[guzzle-6-docs]: http://docs.guzzlephp.org/en/6.5/
|
[guzzle-6-docs]: https://docs.guzzlephp.org/en/6.5/
|
||||||
[guzzle-7-docs]: http://docs.guzzlephp.org/en/latest/
|
[guzzle-7-docs]: https://docs.guzzlephp.org/en/latest/
|
||||||
|
|
||||||
|
|
||||||
## Security
|
## Security
|
||||||
|
|||||||
5
vendor/guzzlehttp/guzzle/composer.json
vendored
5
vendor/guzzlehttp/guzzle/composer.json
vendored
@@ -54,7 +54,7 @@
|
|||||||
"php": "^7.2.5 || ^8.0",
|
"php": "^7.2.5 || ^8.0",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"guzzlehttp/promises": "^1.5",
|
"guzzlehttp/promises": "^1.5",
|
||||||
"guzzlehttp/psr7": "^1.8.3 || ^2.1",
|
"guzzlehttp/psr7": "^1.9 || ^2.4",
|
||||||
"psr/http-client": "^1.0",
|
"psr/http-client": "^1.0",
|
||||||
"symfony/deprecation-contracts": "^2.2 || ^3.0"
|
"symfony/deprecation-contracts": "^2.2 || ^3.0"
|
||||||
},
|
},
|
||||||
@@ -74,6 +74,9 @@
|
|||||||
"psr/log": "Required for using the Log middleware"
|
"psr/log": "Required for using the Log middleware"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"bamarni/composer-bin-plugin": true
|
||||||
|
},
|
||||||
"preferred-install": "dist",
|
"preferred-install": "dist",
|
||||||
"sort-packages": true
|
"sort-packages": true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -241,6 +241,11 @@ class CookieJar implements CookieJarInterface
|
|||||||
if (0 !== \strpos($sc->getPath(), '/')) {
|
if (0 !== \strpos($sc->getPath(), '/')) {
|
||||||
$sc->setPath($this->getCookiePathFromRequest($request));
|
$sc->setPath($this->getCookiePathFromRequest($request));
|
||||||
}
|
}
|
||||||
|
if (!$sc->matchesDomain($request->getUri()->getHost())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Note: At this point `$sc->getDomain()` being a public suffix should
|
||||||
|
// be rejected, but we don't want to pull in the full PSL dependency.
|
||||||
$this->setCookie($sc);
|
$this->setCookie($sc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -379,10 +379,12 @@ class SetCookie
|
|||||||
|
|
||||||
// Remove the leading '.' as per spec in RFC 6265.
|
// Remove the leading '.' as per spec in RFC 6265.
|
||||||
// https://tools.ietf.org/html/rfc6265#section-5.2.3
|
// https://tools.ietf.org/html/rfc6265#section-5.2.3
|
||||||
$cookieDomain = \ltrim($cookieDomain, '.');
|
$cookieDomain = \ltrim(\strtolower($cookieDomain), '.');
|
||||||
|
|
||||||
|
$domain = \strtolower($domain);
|
||||||
|
|
||||||
// Domain not set or exact match.
|
// Domain not set or exact match.
|
||||||
if (!$cookieDomain || !\strcasecmp($domain, $cookieDomain)) {
|
if ('' === $cookieDomain || $domain === $cookieDomain) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ class CurlMultiHandler
|
|||||||
private $selectTimeout;
|
private $selectTimeout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var resource|\CurlMultiHandle|null the currently executing resource in `curl_multi_exec`.
|
* @var int Will be higher than 0 when `curl_multi_exec` is still running.
|
||||||
*/
|
*/
|
||||||
private $active;
|
private $active = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array Request entry handles, indexed by handle id in `addRequest`.
|
* @var array Request entry handles, indexed by handle id in `addRequest`.
|
||||||
|
|||||||
@@ -266,6 +266,10 @@ class StreamHandler
|
|||||||
$methods = \array_flip(\get_class_methods(__CLASS__));
|
$methods = \array_flip(\get_class_methods(__CLASS__));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!\in_array($request->getUri()->getScheme(), ['http', 'https'])) {
|
||||||
|
throw new RequestException(\sprintf("The scheme '%s' is not supported.", $request->getUri()->getScheme()), $request);
|
||||||
|
}
|
||||||
|
|
||||||
// HTTP/1.1 streams using the PHP stream wrapper require a
|
// HTTP/1.1 streams using the PHP stream wrapper require a
|
||||||
// Connection: close header
|
// Connection: close header
|
||||||
if ($request->getProtocolVersion() == '1.1'
|
if ($request->getProtocolVersion() == '1.1'
|
||||||
@@ -318,7 +322,7 @@ class StreamHandler
|
|||||||
return $this->createResource(
|
return $this->createResource(
|
||||||
function () use ($uri, &$http_response_header, $contextResource, $context, $options, $request) {
|
function () use ($uri, &$http_response_header, $contextResource, $context, $options, $request) {
|
||||||
$resource = @\fopen((string) $uri, 'r', false, $contextResource);
|
$resource = @\fopen((string) $uri, 'r', false, $contextResource);
|
||||||
$this->lastHeaders = $http_response_header;
|
$this->lastHeaders = $http_response_header ?? [];
|
||||||
|
|
||||||
if (false === $resource) {
|
if (false === $resource) {
|
||||||
throw new ConnectException(sprintf('Connection refused for URI %s', $uri), $request, null, $context);
|
throw new ConnectException(sprintf('Connection refused for URI %s', $uri), $request, null, $context);
|
||||||
@@ -377,6 +381,9 @@ class StreamHandler
|
|||||||
'ignore_errors' => true,
|
'ignore_errors' => true,
|
||||||
'follow_location' => 0,
|
'follow_location' => 0,
|
||||||
],
|
],
|
||||||
|
'ssl' => [
|
||||||
|
'peer_name' => $request->getUri()->getHost(),
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
$body = (string) $request->getBody();
|
$body = (string) $request->getBody();
|
||||||
|
|||||||
@@ -88,6 +88,14 @@ class RedirectMiddleware
|
|||||||
$this->guardMax($request, $response, $options);
|
$this->guardMax($request, $response, $options);
|
||||||
$nextRequest = $this->modifyRequest($request, $options, $response);
|
$nextRequest = $this->modifyRequest($request, $options, $response);
|
||||||
|
|
||||||
|
// If authorization is handled by curl, unset it if URI is cross-origin.
|
||||||
|
if (Psr7\UriComparator::isCrossOrigin($request->getUri(), $nextRequest->getUri()) && defined('\CURLOPT_HTTPAUTH')) {
|
||||||
|
unset(
|
||||||
|
$options['curl'][\CURLOPT_HTTPAUTH],
|
||||||
|
$options['curl'][\CURLOPT_USERPWD]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($options['allow_redirects']['on_redirect'])) {
|
if (isset($options['allow_redirects']['on_redirect'])) {
|
||||||
($options['allow_redirects']['on_redirect'])(
|
($options['allow_redirects']['on_redirect'])(
|
||||||
$request,
|
$request,
|
||||||
@@ -132,7 +140,7 @@ class RedirectMiddleware
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check for too many redirects
|
* Check for too many redirects.
|
||||||
*
|
*
|
||||||
* @throws TooManyRedirectsException Too many redirects.
|
* @throws TooManyRedirectsException Too many redirects.
|
||||||
*/
|
*/
|
||||||
@@ -168,7 +176,7 @@ class RedirectMiddleware
|
|||||||
$modify['body'] = '';
|
$modify['body'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$uri = $this->redirectUri($request, $response, $protocols);
|
$uri = self::redirectUri($request, $response, $protocols);
|
||||||
if (isset($options['idn_conversion']) && ($options['idn_conversion'] !== false)) {
|
if (isset($options['idn_conversion']) && ($options['idn_conversion'] !== false)) {
|
||||||
$idnOptions = ($options['idn_conversion'] === true) ? \IDNA_DEFAULT : $options['idn_conversion'];
|
$idnOptions = ($options['idn_conversion'] === true) ? \IDNA_DEFAULT : $options['idn_conversion'];
|
||||||
$uri = Utils::idnUriConvert($uri, $idnOptions);
|
$uri = Utils::idnUriConvert($uri, $idnOptions);
|
||||||
@@ -188,19 +196,23 @@ class RedirectMiddleware
|
|||||||
$modify['remove_headers'][] = 'Referer';
|
$modify['remove_headers'][] = 'Referer';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove Authorization header if host is different.
|
// Remove Authorization and Cookie headers if URI is cross-origin.
|
||||||
if ($request->getUri()->getHost() !== $modify['uri']->getHost()) {
|
if (Psr7\UriComparator::isCrossOrigin($request->getUri(), $modify['uri'])) {
|
||||||
$modify['remove_headers'][] = 'Authorization';
|
$modify['remove_headers'][] = 'Authorization';
|
||||||
|
$modify['remove_headers'][] = 'Cookie';
|
||||||
}
|
}
|
||||||
|
|
||||||
return Psr7\Utils::modifyRequest($request, $modify);
|
return Psr7\Utils::modifyRequest($request, $modify);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the appropriate URL on the request based on the location header
|
* Set the appropriate URL on the request based on the location header.
|
||||||
*/
|
*/
|
||||||
private function redirectUri(RequestInterface $request, ResponseInterface $response, array $protocols): UriInterface
|
private static function redirectUri(
|
||||||
{
|
RequestInterface $request,
|
||||||
|
ResponseInterface $response,
|
||||||
|
array $protocols
|
||||||
|
): UriInterface {
|
||||||
$location = Psr7\UriResolver::resolve(
|
$location = Psr7\UriResolver::resolve(
|
||||||
$request->getUri(),
|
$request->getUri(),
|
||||||
new Psr7\Uri($response->getHeaderLine('Location'))
|
new Psr7\Uri($response->getHeaderLine('Location'))
|
||||||
|
|||||||
52
vendor/guzzlehttp/psr7/CHANGELOG.md
vendored
52
vendor/guzzlehttp/psr7/CHANGELOG.md
vendored
@@ -7,6 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## 2.4.0 - 2022-06-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Added provisional PHP 8.2 support
|
||||||
|
- Added `UriComparator::isCrossOrigin` method
|
||||||
|
|
||||||
|
## 2.3.0 - 2022-06-09
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Added `Header::splitList` method
|
||||||
|
- Added `Utils::tryGetContents` method
|
||||||
|
- Improved `Stream::getContents` method
|
||||||
|
- Updated mimetype mappings
|
||||||
|
|
||||||
|
## 2.2.2 - 2022-06-08
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix `Message::parseRequestUri` for numeric headers
|
||||||
|
- Re-wrap exceptions thrown in `fread` into runtime exceptions
|
||||||
|
- Throw an exception when multipart options is misformatted
|
||||||
|
|
||||||
|
## 2.2.1 - 2022-03-20
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Correct header value validation
|
||||||
|
|
||||||
|
## 2.2.0 - 2022-03-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- A more compressive list of mime types
|
||||||
|
- Add JsonSerializable to Uri
|
||||||
|
- Missing return types
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Bug MultipartStream no `uri` metadata
|
||||||
|
- Bug MultipartStream with filename for `data://` streams
|
||||||
|
- Fixed new line handling in MultipartStream
|
||||||
|
- Reduced RAM usage when copying streams
|
||||||
|
- Updated parsing in `Header::normalize()`
|
||||||
|
|
||||||
|
## 2.1.1 - 2022-03-20
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Validate header values properly
|
||||||
|
|
||||||
## 2.1.0 - 2021-10-06
|
## 2.1.0 - 2021-10-06
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
35
vendor/guzzlehttp/psr7/README.md
vendored
35
vendor/guzzlehttp/psr7/README.md
vendored
@@ -1,6 +1,6 @@
|
|||||||
# PSR-7 Message Implementation
|
# PSR-7 Message Implementation
|
||||||
|
|
||||||
This repository contains a full [PSR-7](http://www.php-fig.org/psr/psr-7/)
|
This repository contains a full [PSR-7](https://www.php-fig.org/psr/psr-7/)
|
||||||
message implementation, several stream decorators, and some helpful
|
message implementation, several stream decorators, and some helpful
|
||||||
functionality like query string parsing.
|
functionality like query string parsing.
|
||||||
|
|
||||||
@@ -527,6 +527,17 @@ When fopen fails, PHP normally raises a warning. This function adds an
|
|||||||
error handler that checks for errors and throws an exception instead.
|
error handler that checks for errors and throws an exception instead.
|
||||||
|
|
||||||
|
|
||||||
|
## `GuzzleHttp\Psr7\Utils::tryGetContents`
|
||||||
|
|
||||||
|
`public static function tryGetContents(resource $stream): string`
|
||||||
|
|
||||||
|
Safely gets the contents of a given stream.
|
||||||
|
|
||||||
|
When stream_get_contents fails, PHP normally raises a warning. This
|
||||||
|
function adds an error handler that checks for errors and throws an
|
||||||
|
exception instead.
|
||||||
|
|
||||||
|
|
||||||
## `GuzzleHttp\Psr7\Utils::uriFor`
|
## `GuzzleHttp\Psr7\Utils::uriFor`
|
||||||
|
|
||||||
`public static function uriFor(string|UriInterface $uri): UriInterface`
|
`public static function uriFor(string|UriInterface $uri): UriInterface`
|
||||||
@@ -658,7 +669,7 @@ manually but instead is used indirectly via `Psr\Http\Message\UriInterface::__to
|
|||||||
|
|
||||||
`public static function fromParts(array $parts): UriInterface`
|
`public static function fromParts(array $parts): UriInterface`
|
||||||
|
|
||||||
Creates a URI from a hash of [`parse_url`](http://php.net/manual/en/function.parse-url.php) components.
|
Creates a URI from a hash of [`parse_url`](https://www.php.net/manual/en/function.parse-url.php) components.
|
||||||
|
|
||||||
|
|
||||||
### `GuzzleHttp\Psr7\Uri::withQueryValue`
|
### `GuzzleHttp\Psr7\Uri::withQueryValue`
|
||||||
@@ -683,6 +694,16 @@ associative array of key => value.
|
|||||||
Creates a new URI with a specific query string value removed. Any existing query string values that exactly match the
|
Creates a new URI with a specific query string value removed. Any existing query string values that exactly match the
|
||||||
provided key are removed.
|
provided key are removed.
|
||||||
|
|
||||||
|
## Cross-Origin Detection
|
||||||
|
|
||||||
|
`GuzzleHttp\Psr7\UriComparator` provides methods to determine if a modified URL should be considered cross-origin.
|
||||||
|
|
||||||
|
### `GuzzleHttp\Psr7\UriComparator::isCrossOrigin`
|
||||||
|
|
||||||
|
`public static function isCrossOrigin(UriInterface $original, UriInterface $modified): bool`
|
||||||
|
|
||||||
|
Determines if a modified URL should be considered cross-origin with respect to an original URL.
|
||||||
|
|
||||||
## Reference Resolution
|
## Reference Resolution
|
||||||
|
|
||||||
`GuzzleHttp\Psr7\UriResolver` provides methods to resolve a URI reference in the context of a base URI according
|
`GuzzleHttp\Psr7\UriResolver` provides methods to resolve a URI reference in the context of a base URI according
|
||||||
@@ -808,14 +829,24 @@ 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.
|
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
|
## 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.
|
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.
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
|
Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
|
||||||
|
|
||||||
|
|
||||||
## For Enterprise
|
## For Enterprise
|
||||||
|
|
||||||
Available as part of the Tidelift Subscription
|
Available as part of the Tidelift Subscription
|
||||||
|
|||||||
5
vendor/guzzlehttp/psr7/composer.json
vendored
5
vendor/guzzlehttp/psr7/composer.json
vendored
@@ -79,10 +79,13 @@
|
|||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "2.1-dev"
|
"dev-master": "2.4-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"bamarni/composer-bin-plugin": true
|
||||||
|
},
|
||||||
"preferred-install": "dist",
|
"preferred-install": "dist",
|
||||||
"sort-packages": true
|
"sort-packages": true
|
||||||
}
|
}
|
||||||
|
|||||||
5
vendor/guzzlehttp/psr7/src/CachingStream.php
vendored
5
vendor/guzzlehttp/psr7/src/CachingStream.php
vendored
@@ -20,6 +20,11 @@ final class CachingStream implements StreamInterface
|
|||||||
/** @var int Number of bytes to skip reading due to a write on the buffer */
|
/** @var int Number of bytes to skip reading due to a write on the buffer */
|
||||||
private $skipReadBytes = 0;
|
private $skipReadBytes = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var StreamInterface
|
||||||
|
*/
|
||||||
|
private $stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We will treat the buffer object as the body of the stream
|
* We will treat the buffer object as the body of the stream
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,9 @@ final class DroppingStream implements StreamInterface
|
|||||||
/** @var int */
|
/** @var int */
|
||||||
private $maxLength;
|
private $maxLength;
|
||||||
|
|
||||||
|
/** @var StreamInterface */
|
||||||
|
private $stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param StreamInterface $stream Underlying stream to decorate.
|
* @param StreamInterface $stream Underlying stream to decorate.
|
||||||
* @param int $maxLength Maximum size before dropping data.
|
* @param int $maxLength Maximum size before dropping data.
|
||||||
|
|||||||
1
vendor/guzzlehttp/psr7/src/FnStream.php
vendored
1
vendor/guzzlehttp/psr7/src/FnStream.php
vendored
@@ -12,6 +12,7 @@ use Psr\Http\Message\StreamInterface;
|
|||||||
* Allows for easy testing and extension of a provided stream without needing
|
* Allows for easy testing and extension of a provided stream without needing
|
||||||
* to create a concrete class for a simple extension point.
|
* to create a concrete class for a simple extension point.
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
final class FnStream implements StreamInterface
|
final class FnStream implements StreamInterface
|
||||||
{
|
{
|
||||||
private const SLOTS = [
|
private const SLOTS = [
|
||||||
|
|||||||
105
vendor/guzzlehttp/psr7/src/Header.php
vendored
105
vendor/guzzlehttp/psr7/src/Header.php
vendored
@@ -19,20 +19,22 @@ final class Header
|
|||||||
static $trimmed = "\"' \n\t\r";
|
static $trimmed = "\"' \n\t\r";
|
||||||
$params = $matches = [];
|
$params = $matches = [];
|
||||||
|
|
||||||
foreach (self::normalize($header) as $val) {
|
foreach ((array) $header as $value) {
|
||||||
$part = [];
|
foreach (self::splitList($value) as $val) {
|
||||||
foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) {
|
$part = [];
|
||||||
if (preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) {
|
foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) {
|
||||||
$m = $matches[0];
|
if (preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) {
|
||||||
if (isset($m[1])) {
|
$m = $matches[0];
|
||||||
$part[trim($m[0], $trimmed)] = trim($m[1], $trimmed);
|
if (isset($m[1])) {
|
||||||
} else {
|
$part[trim($m[0], $trimmed)] = trim($m[1], $trimmed);
|
||||||
$part[] = trim($m[0], $trimmed);
|
} else {
|
||||||
|
$part[] = trim($m[0], $trimmed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if ($part) {
|
||||||
if ($part) {
|
$params[] = $part;
|
||||||
$params[] = $part;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,23 +46,86 @@ final class Header
|
|||||||
* headers into an array of headers with no comma separated values.
|
* headers into an array of headers with no comma separated values.
|
||||||
*
|
*
|
||||||
* @param string|array $header Header to normalize.
|
* @param string|array $header Header to normalize.
|
||||||
|
*
|
||||||
|
* @deprecated Use self::splitList() instead.
|
||||||
*/
|
*/
|
||||||
public static function normalize($header): array
|
public static function normalize($header): array
|
||||||
{
|
{
|
||||||
if (!is_array($header)) {
|
$result = [];
|
||||||
return array_map('trim', explode(',', $header));
|
foreach ((array) $header as $value) {
|
||||||
|
foreach (self::splitList($value) as $parsed) {
|
||||||
|
$result[] = $parsed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Splits a HTTP header defined to contain comma-separated list into
|
||||||
|
* each individual value. Empty values will be removed.
|
||||||
|
*
|
||||||
|
* Example headers include 'accept', 'cache-control' and 'if-none-match'.
|
||||||
|
*
|
||||||
|
* This method must not be used to parse headers that are not defined as
|
||||||
|
* a list, such as 'user-agent' or 'set-cookie'.
|
||||||
|
*
|
||||||
|
* @param string|string[] $values Header value as returned by MessageInterface::getHeader()
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public static function splitList($values): array
|
||||||
|
{
|
||||||
|
if (!\is_array($values)) {
|
||||||
|
$values = [$values];
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
foreach ($header as $value) {
|
foreach ($values as $value) {
|
||||||
foreach ((array) $value as $v) {
|
if (!\is_string($value)) {
|
||||||
if (strpos($v, ',') === false) {
|
throw new \TypeError('$header must either be a string or an array containing strings.');
|
||||||
$result[] = $v;
|
}
|
||||||
|
|
||||||
|
$v = '';
|
||||||
|
$isQuoted = false;
|
||||||
|
$isEscaped = false;
|
||||||
|
for ($i = 0, $max = \strlen($value); $i < $max; $i++) {
|
||||||
|
if ($isEscaped) {
|
||||||
|
$v .= $value[$i];
|
||||||
|
$isEscaped = false;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
foreach (preg_split('/,(?=([^"]*"[^"]*")*[^"]*$)/', $v) as $vv) {
|
|
||||||
$result[] = trim($vv);
|
if (!$isQuoted && $value[$i] === ',') {
|
||||||
|
$v = \trim($v);
|
||||||
|
if ($v !== '') {
|
||||||
|
$result[] = $v;
|
||||||
|
}
|
||||||
|
|
||||||
|
$v = '';
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($isQuoted && $value[$i] === '\\') {
|
||||||
|
$isEscaped = true;
|
||||||
|
$v .= $value[$i];
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ($value[$i] === '"') {
|
||||||
|
$isQuoted = !$isQuoted;
|
||||||
|
$v .= $value[$i];
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$v .= $value[$i];
|
||||||
|
}
|
||||||
|
|
||||||
|
$v = \trim($v);
|
||||||
|
if ($v !== '') {
|
||||||
|
$result[] = $v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
3
vendor/guzzlehttp/psr7/src/InflateStream.php
vendored
3
vendor/guzzlehttp/psr7/src/InflateStream.php
vendored
@@ -21,6 +21,9 @@ final class InflateStream implements StreamInterface
|
|||||||
{
|
{
|
||||||
use StreamDecoratorTrait;
|
use StreamDecoratorTrait;
|
||||||
|
|
||||||
|
/** @var StreamInterface */
|
||||||
|
private $stream;
|
||||||
|
|
||||||
public function __construct(StreamInterface $stream)
|
public function __construct(StreamInterface $stream)
|
||||||
{
|
{
|
||||||
$resource = StreamWrapper::getResource($stream);
|
$resource = StreamWrapper::getResource($stream);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ use Psr\Http\Message\StreamInterface;
|
|||||||
* Lazily reads or writes to a file that is opened only after an IO operation
|
* Lazily reads or writes to a file that is opened only after an IO operation
|
||||||
* take place on the stream.
|
* take place on the stream.
|
||||||
*/
|
*/
|
||||||
|
#[\AllowDynamicProperties]
|
||||||
final class LazyOpenStream implements StreamInterface
|
final class LazyOpenStream implements StreamInterface
|
||||||
{
|
{
|
||||||
use StreamDecoratorTrait;
|
use StreamDecoratorTrait;
|
||||||
|
|||||||
3
vendor/guzzlehttp/psr7/src/LimitStream.php
vendored
3
vendor/guzzlehttp/psr7/src/LimitStream.php
vendored
@@ -19,6 +19,9 @@ final class LimitStream implements StreamInterface
|
|||||||
/** @var int Limit the number of bytes that can be read */
|
/** @var int Limit the number of bytes that can be read */
|
||||||
private $limit;
|
private $limit;
|
||||||
|
|
||||||
|
/** @var StreamInterface */
|
||||||
|
private $stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param StreamInterface $stream Stream to wrap
|
* @param StreamInterface $stream Stream to wrap
|
||||||
* @param int $limit Total number of bytes to allow to be read
|
* @param int $limit Total number of bytes to allow to be read
|
||||||
|
|||||||
3
vendor/guzzlehttp/psr7/src/Message.php
vendored
3
vendor/guzzlehttp/psr7/src/Message.php
vendored
@@ -175,6 +175,9 @@ final class Message
|
|||||||
public static function parseRequestUri(string $path, array $headers): string
|
public static function parseRequestUri(string $path, array $headers): string
|
||||||
{
|
{
|
||||||
$hostKey = array_filter(array_keys($headers), function ($k) {
|
$hostKey = array_filter(array_keys($headers), function ($k) {
|
||||||
|
// Numeric array keys are converted to int by PHP.
|
||||||
|
$k = (string) $k;
|
||||||
|
|
||||||
return strtolower($k) === 'host';
|
return strtolower($k) === 'host';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
47
vendor/guzzlehttp/psr7/src/MessageTrait.php
vendored
47
vendor/guzzlehttp/psr7/src/MessageTrait.php
vendored
@@ -145,11 +145,9 @@ trait MessageTrait
|
|||||||
{
|
{
|
||||||
$this->headerNames = $this->headers = [];
|
$this->headerNames = $this->headers = [];
|
||||||
foreach ($headers as $header => $value) {
|
foreach ($headers as $header => $value) {
|
||||||
if (is_int($header)) {
|
// Numeric array keys are converted to int by PHP.
|
||||||
// Numeric array keys are converted to int by PHP but having a header name '123' is not forbidden by the spec
|
$header = (string) $header;
|
||||||
// and also allowed in withHeader(). So we need to cast it to string again for the following assertion to pass.
|
|
||||||
$header = (string) $header;
|
|
||||||
}
|
|
||||||
$this->assertHeader($header);
|
$this->assertHeader($header);
|
||||||
$value = $this->normalizeHeaderValue($value);
|
$value = $this->normalizeHeaderValue($value);
|
||||||
$normalized = strtolower($header);
|
$normalized = strtolower($header);
|
||||||
@@ -171,14 +169,14 @@ trait MessageTrait
|
|||||||
private function normalizeHeaderValue($value): array
|
private function normalizeHeaderValue($value): array
|
||||||
{
|
{
|
||||||
if (!is_array($value)) {
|
if (!is_array($value)) {
|
||||||
return $this->trimHeaderValues([$value]);
|
return $this->trimAndValidateHeaderValues([$value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($value) === 0) {
|
if (count($value) === 0) {
|
||||||
throw new \InvalidArgumentException('Header value can not be an empty array.');
|
throw new \InvalidArgumentException('Header value can not be an empty array.');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->trimHeaderValues($value);
|
return $this->trimAndValidateHeaderValues($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -195,7 +193,7 @@ trait MessageTrait
|
|||||||
*
|
*
|
||||||
* @see https://tools.ietf.org/html/rfc7230#section-3.2.4
|
* @see https://tools.ietf.org/html/rfc7230#section-3.2.4
|
||||||
*/
|
*/
|
||||||
private function trimHeaderValues(array $values): array
|
private function trimAndValidateHeaderValues(array $values): array
|
||||||
{
|
{
|
||||||
return array_map(function ($value) {
|
return array_map(function ($value) {
|
||||||
if (!is_scalar($value) && null !== $value) {
|
if (!is_scalar($value) && null !== $value) {
|
||||||
@@ -205,7 +203,10 @@ trait MessageTrait
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
return trim((string) $value, " \t");
|
$trimmed = trim((string) $value, " \t");
|
||||||
|
$this->assertValue($trimmed);
|
||||||
|
|
||||||
|
return $trimmed;
|
||||||
}, array_values($values));
|
}, array_values($values));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,4 +233,32 @@ trait MessageTrait
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see https://tools.ietf.org/html/rfc7230#section-3.2
|
||||||
|
*
|
||||||
|
* field-value = *( field-content / obs-fold )
|
||||||
|
* field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
|
||||||
|
* field-vchar = VCHAR / obs-text
|
||||||
|
* VCHAR = %x21-7E
|
||||||
|
* obs-text = %x80-FF
|
||||||
|
* obs-fold = CRLF 1*( SP / HTAB )
|
||||||
|
*/
|
||||||
|
private function assertValue(string $value): void
|
||||||
|
{
|
||||||
|
// The regular expression intentionally does not support the obs-fold production, because as
|
||||||
|
// per RFC 7230#3.2.4:
|
||||||
|
//
|
||||||
|
// A sender MUST NOT generate a message that includes
|
||||||
|
// line folding (i.e., that has any field-value that contains a match to
|
||||||
|
// the obs-fold rule) unless the message is intended for packaging
|
||||||
|
// within the message/http media type.
|
||||||
|
//
|
||||||
|
// 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]*$/', $value)) {
|
||||||
|
throw new \InvalidArgumentException(sprintf('"%s" is not valid header value', $value));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1311
vendor/guzzlehttp/psr7/src/MimeType.php
vendored
1311
vendor/guzzlehttp/psr7/src/MimeType.php
vendored
File diff suppressed because it is too large
Load Diff
@@ -17,6 +17,9 @@ final class MultipartStream implements StreamInterface
|
|||||||
/** @var string */
|
/** @var string */
|
||||||
private $boundary;
|
private $boundary;
|
||||||
|
|
||||||
|
/** @var StreamInterface */
|
||||||
|
private $stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $elements Array of associative arrays, each containing a
|
* @param array $elements Array of associative arrays, each containing a
|
||||||
* required "name" key mapping to the form field,
|
* required "name" key mapping to the form field,
|
||||||
@@ -68,6 +71,9 @@ final class MultipartStream implements StreamInterface
|
|||||||
$stream = new AppendStream();
|
$stream = new AppendStream();
|
||||||
|
|
||||||
foreach ($elements as $element) {
|
foreach ($elements as $element) {
|
||||||
|
if (!is_array($element)) {
|
||||||
|
throw new \UnexpectedValueException("An array is expected");
|
||||||
|
}
|
||||||
$this->addElement($stream, $element);
|
$this->addElement($stream, $element);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +95,7 @@ final class MultipartStream implements StreamInterface
|
|||||||
|
|
||||||
if (empty($element['filename'])) {
|
if (empty($element['filename'])) {
|
||||||
$uri = $element['contents']->getMetadata('uri');
|
$uri = $element['contents']->getMetadata('uri');
|
||||||
if (substr($uri, 0, 6) !== 'php://') {
|
if ($uri && \is_string($uri) && \substr($uri, 0, 6) !== 'php://' && \substr($uri, 0, 7) !== 'data://') {
|
||||||
$element['filename'] = $uri;
|
$element['filename'] = $uri;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
3
vendor/guzzlehttp/psr7/src/NoSeekStream.php
vendored
3
vendor/guzzlehttp/psr7/src/NoSeekStream.php
vendored
@@ -13,6 +13,9 @@ final class NoSeekStream implements StreamInterface
|
|||||||
{
|
{
|
||||||
use StreamDecoratorTrait;
|
use StreamDecoratorTrait;
|
||||||
|
|
||||||
|
/** @var StreamInterface */
|
||||||
|
private $stream;
|
||||||
|
|
||||||
public function seek($offset, $whence = SEEK_SET): void
|
public function seek($offset, $whence = SEEK_SET): void
|
||||||
{
|
{
|
||||||
throw new \RuntimeException('Cannot seek a NoSeekStream');
|
throw new \RuntimeException('Cannot seek a NoSeekStream');
|
||||||
|
|||||||
2
vendor/guzzlehttp/psr7/src/Query.php
vendored
2
vendor/guzzlehttp/psr7/src/Query.php
vendored
@@ -43,7 +43,7 @@ final class Query
|
|||||||
$parts = explode('=', $kvp, 2);
|
$parts = explode('=', $kvp, 2);
|
||||||
$key = $decoder($parts[0]);
|
$key = $decoder($parts[0]);
|
||||||
$value = isset($parts[1]) ? $decoder($parts[1]) : null;
|
$value = isset($parts[1]) ? $decoder($parts[1]) : null;
|
||||||
if (!isset($result[$key])) {
|
if (!array_key_exists($key, $result)) {
|
||||||
$result[$key] = $value;
|
$result[$key] = $value;
|
||||||
} else {
|
} else {
|
||||||
if (!is_array($result[$key])) {
|
if (!is_array($result[$key])) {
|
||||||
|
|||||||
2
vendor/guzzlehttp/psr7/src/ServerRequest.php
vendored
2
vendor/guzzlehttp/psr7/src/ServerRequest.php
vendored
@@ -80,7 +80,7 @@ class ServerRequest extends Request implements ServerRequestInterface
|
|||||||
/**
|
/**
|
||||||
* Return an UploadedFile instance array.
|
* Return an UploadedFile instance array.
|
||||||
*
|
*
|
||||||
* @param array $files A array which respect $_FILES structure
|
* @param array $files An array which respect $_FILES structure
|
||||||
*
|
*
|
||||||
* @throws InvalidArgumentException for unrecognized values
|
* @throws InvalidArgumentException for unrecognized values
|
||||||
*/
|
*/
|
||||||
|
|||||||
15
vendor/guzzlehttp/psr7/src/Stream.php
vendored
15
vendor/guzzlehttp/psr7/src/Stream.php
vendored
@@ -96,13 +96,11 @@ class Stream implements StreamInterface
|
|||||||
throw new \RuntimeException('Stream is detached');
|
throw new \RuntimeException('Stream is detached');
|
||||||
}
|
}
|
||||||
|
|
||||||
$contents = stream_get_contents($this->stream);
|
if (!$this->readable) {
|
||||||
|
throw new \RuntimeException('Cannot read from non-readable stream');
|
||||||
if ($contents === false) {
|
|
||||||
throw new \RuntimeException('Unable to read stream contents');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $contents;
|
return Utils::tryGetContents($this->stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function close(): void
|
public function close(): void
|
||||||
@@ -229,7 +227,12 @@ class Stream implements StreamInterface
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$string = fread($this->stream, $length);
|
try {
|
||||||
|
$string = fread($this->stream, $length);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw new \RuntimeException('Unable to read from stream', 0, $e);
|
||||||
|
}
|
||||||
|
|
||||||
if (false === $string) {
|
if (false === $string) {
|
||||||
throw new \RuntimeException('Unable to read from stream');
|
throw new \RuntimeException('Unable to read from stream');
|
||||||
}
|
}
|
||||||
|
|||||||
7
vendor/guzzlehttp/psr7/src/Uri.php
vendored
7
vendor/guzzlehttp/psr7/src/Uri.php
vendored
@@ -14,7 +14,7 @@ use Psr\Http\Message\UriInterface;
|
|||||||
* @author Tobias Schultze
|
* @author Tobias Schultze
|
||||||
* @author Matthew Weier O'Phinney
|
* @author Matthew Weier O'Phinney
|
||||||
*/
|
*/
|
||||||
class Uri implements UriInterface
|
class Uri implements UriInterface, \JsonSerializable
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Absolute http and https URIs require a host per RFC 7230 Section 2.7
|
* Absolute http and https URIs require a host per RFC 7230 Section 2.7
|
||||||
@@ -525,6 +525,11 @@ class Uri implements UriInterface
|
|||||||
return $new;
|
return $new;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function jsonSerialize(): string
|
||||||
|
{
|
||||||
|
return $this->__toString();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply parse_url parts to a URI.
|
* Apply parse_url parts to a URI.
|
||||||
*
|
*
|
||||||
|
|||||||
52
vendor/guzzlehttp/psr7/src/UriComparator.php
vendored
Normal file
52
vendor/guzzlehttp/psr7/src/UriComparator.php
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace GuzzleHttp\Psr7;
|
||||||
|
|
||||||
|
use Psr\Http\Message\UriInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides methods to determine if a modified URL should be considered cross-origin.
|
||||||
|
*
|
||||||
|
* @author Graham Campbell
|
||||||
|
*/
|
||||||
|
final class UriComparator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determines if a modified URL should be considered cross-origin with
|
||||||
|
* respect to an original URL.
|
||||||
|
*/
|
||||||
|
public static function isCrossOrigin(UriInterface $original, UriInterface $modified): bool
|
||||||
|
{
|
||||||
|
if (\strcasecmp($original->getHost(), $modified->getHost()) !== 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($original->getScheme() !== $modified->getScheme()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self::computePort($original) !== self::computePort($modified)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function computePort(UriInterface $uri): int
|
||||||
|
{
|
||||||
|
$port = $uri->getPort();
|
||||||
|
|
||||||
|
if (null !== $port) {
|
||||||
|
return $port;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'https' === $uri->getScheme() ? 443 : 80;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function __construct()
|
||||||
|
{
|
||||||
|
// cannot be instantiated
|
||||||
|
}
|
||||||
|
}
|
||||||
51
vendor/guzzlehttp/psr7/src/Utils.php
vendored
51
vendor/guzzlehttp/psr7/src/Utils.php
vendored
@@ -131,7 +131,7 @@ final class Utils
|
|||||||
hash_update($ctx, $stream->read(1048576));
|
hash_update($ctx, $stream->read(1048576));
|
||||||
}
|
}
|
||||||
|
|
||||||
$out = hash_final($ctx, (bool) $rawOutput);
|
$out = hash_final($ctx, $rawOutput);
|
||||||
$stream->seek($pos);
|
$stream->seek($pos);
|
||||||
|
|
||||||
return $out;
|
return $out;
|
||||||
@@ -304,7 +304,7 @@ final class Utils
|
|||||||
/** @var resource $resource */
|
/** @var resource $resource */
|
||||||
if ((\stream_get_meta_data($resource)['uri'] ?? '') === 'php://input') {
|
if ((\stream_get_meta_data($resource)['uri'] ?? '') === 'php://input') {
|
||||||
$stream = self::tryFopen('php://temp', 'w+');
|
$stream = self::tryFopen('php://temp', 'w+');
|
||||||
fwrite($stream, stream_get_contents($resource));
|
stream_copy_to_stream($resource, $stream);
|
||||||
fseek($stream, 0);
|
fseek($stream, 0);
|
||||||
$resource = $stream;
|
$resource = $stream;
|
||||||
}
|
}
|
||||||
@@ -386,6 +386,53 @@ final class Utils
|
|||||||
return $handle;
|
return $handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Safely gets the contents of a given stream.
|
||||||
|
*
|
||||||
|
* When stream_get_contents fails, PHP normally raises a warning. This
|
||||||
|
* function adds an error handler that checks for errors and throws an
|
||||||
|
* exception instead.
|
||||||
|
*
|
||||||
|
* @param resource $stream
|
||||||
|
*
|
||||||
|
* @throws \RuntimeException if the stream cannot be read
|
||||||
|
*/
|
||||||
|
public static function tryGetContents($stream): string
|
||||||
|
{
|
||||||
|
$ex = null;
|
||||||
|
set_error_handler(static function (int $errno, string $errstr) use (&$ex): bool {
|
||||||
|
$ex = new \RuntimeException(sprintf(
|
||||||
|
'Unable to read stream contents: %s',
|
||||||
|
$errstr
|
||||||
|
));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
/** @var string|false $contents */
|
||||||
|
$contents = stream_get_contents($stream);
|
||||||
|
|
||||||
|
if ($contents === false) {
|
||||||
|
$ex = new \RuntimeException('Unable to read stream contents');
|
||||||
|
}
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
$ex = new \RuntimeException(sprintf(
|
||||||
|
'Unable to read stream contents: %s',
|
||||||
|
$e->getMessage()
|
||||||
|
), 0, $e);
|
||||||
|
}
|
||||||
|
|
||||||
|
restore_error_handler();
|
||||||
|
|
||||||
|
if ($ex) {
|
||||||
|
/** @var $ex \RuntimeException */
|
||||||
|
throw $ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $contents;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a UriInterface for the given value.
|
* Returns a UriInterface for the given value.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"require": {
|
|
||||||
"php": "^7.2.5 || ^8.0",
|
|
||||||
"friendsofphp/php-cs-fixer": "3.2.1"
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"preferred-install": "dist"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"require": {
|
|
||||||
"php": "^7.2.5 || ^8.0",
|
|
||||||
"phpstan/phpstan": "0.12.81",
|
|
||||||
"phpstan/phpstan-deprecation-rules": "0.12.6"
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"preferred-install": "dist"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"require": {
|
|
||||||
"php": "^7.2.5 || ^8.0",
|
|
||||||
"psalm/phar": "4.6.2"
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"preferred-install": "dist"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
11
vendor/knplabs/github-api/CHANGELOG-3.X.md
vendored
11
vendor/knplabs/github-api/CHANGELOG-3.X.md
vendored
@@ -1,5 +1,16 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 3.6.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Include optional params parameter for Commits compare method ([mountiny](https://github.com/mountiny)) [#1053](https://github.com/KnpLabs/php-github-api/issues/1053)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Update incorrect documentation ([pheeque1](https://github.com/pheeque1)) [#1058](https://github.com/KnpLabs/php-github-api/issues/1058)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- fix(Apps): use /orgs/ORG/installation ([ellisio](https://github.com/ellisio)) [#1056](https://github.com/KnpLabs/php-github-api/issues/1056)
|
||||||
|
|
||||||
## 3.5.1
|
## 3.5.1
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
3
vendor/knplabs/github-api/composer.json
vendored
3
vendor/knplabs/github-api/composer.json
vendored
@@ -57,7 +57,8 @@
|
|||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"allow-plugins": {
|
"allow-plugins": {
|
||||||
"phpstan/extension-installer": true
|
"phpstan/extension-installer": true,
|
||||||
|
"composer/package-versions-deprecated": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ class Apps extends AbstractApi
|
|||||||
{
|
{
|
||||||
$this->configurePreviewHeader();
|
$this->configurePreviewHeader();
|
||||||
|
|
||||||
return $this->get('/org/'.rawurldecode($org).'/installation');
|
return $this->get('/orgs/'.rawurldecode($org).'/installation');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -16,14 +16,14 @@ class Commits extends AbstractApi
|
|||||||
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/commits', $params);
|
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/commits', $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function compare($username, $repository, $base, $head, $mediaType = null)
|
public function compare($username, $repository, $base, $head, $mediaType = null, array $params = [])
|
||||||
{
|
{
|
||||||
$headers = [];
|
$headers = [];
|
||||||
if (null !== $mediaType) {
|
if (null !== $mediaType) {
|
||||||
$headers['Accept'] = $mediaType;
|
$headers['Accept'] = $mediaType;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/compare/'.rawurlencode($base).'...'.rawurlencode($head), [], $headers);
|
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/compare/'.rawurlencode($base).'...'.rawurlencode($head), $params, $headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($username, $repository, $sha)
|
public function show($username, $repository, $sha)
|
||||||
|
|||||||
@@ -102,7 +102,9 @@ class TinkerCommand extends Command
|
|||||||
$config = $this->getLaravel()->make('config');
|
$config = $this->getLaravel()->make('config');
|
||||||
|
|
||||||
foreach ($config->get('tinker.commands', []) as $command) {
|
foreach ($config->get('tinker.commands', []) as $command) {
|
||||||
$commands[] = $this->getApplication()->resolve($command);
|
$commands[] = $this->getApplication()->add(
|
||||||
|
$this->getLaravel()->make($command)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $commands;
|
return $commands;
|
||||||
|
|||||||
@@ -1,12 +1,18 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 1.10.0 - 2022-04-11
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Added Flysystem v1 inconclusive mime-types and made it configurable as a constructor parameter.
|
||||||
|
|
||||||
## 1.9.0 - 2021-11-21
|
## 1.9.0 - 2021-11-21
|
||||||
|
|
||||||
### Updated
|
### Updated
|
||||||
|
|
||||||
- Updated lookup
|
- Updated lookup
|
||||||
|
|
||||||
- ## 1.8.0 - 2021-09-25
|
## 1.8.0 - 2021-09-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
|||||||
2
vendor/league/mime-type-detection/LICENSE
vendored
2
vendor/league/mime-type-detection/LICENSE
vendored
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2013-2020 Frank de Jonge
|
Copyright (c) 2013-2022 Frank de Jonge
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -11,7 +11,13 @@ use finfo;
|
|||||||
|
|
||||||
class FinfoMimeTypeDetector implements MimeTypeDetector
|
class FinfoMimeTypeDetector implements MimeTypeDetector
|
||||||
{
|
{
|
||||||
private const INCONCLUSIVE_MIME_TYPES = ['application/x-empty', 'text/plain', 'text/x-asm'];
|
private const INCONCLUSIVE_MIME_TYPES = [
|
||||||
|
'application/x-empty',
|
||||||
|
'text/plain',
|
||||||
|
'text/x-asm',
|
||||||
|
'application/octet-stream',
|
||||||
|
'inode/x-empty',
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var finfo
|
* @var finfo
|
||||||
@@ -28,14 +34,21 @@ class FinfoMimeTypeDetector implements MimeTypeDetector
|
|||||||
*/
|
*/
|
||||||
private $bufferSampleSize;
|
private $bufferSampleSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array<string>
|
||||||
|
*/
|
||||||
|
private $inconclusiveMimetypes;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $magicFile = '',
|
string $magicFile = '',
|
||||||
ExtensionToMimeTypeMap $extensionMap = null,
|
ExtensionToMimeTypeMap $extensionMap = null,
|
||||||
?int $bufferSampleSize = null
|
?int $bufferSampleSize = null,
|
||||||
|
array $inconclusiveMimetypes = self::INCONCLUSIVE_MIME_TYPES
|
||||||
) {
|
) {
|
||||||
$this->finfo = new finfo(FILEINFO_MIME_TYPE, $magicFile);
|
$this->finfo = new finfo(FILEINFO_MIME_TYPE, $magicFile);
|
||||||
$this->extensionMap = $extensionMap ?: new GeneratedExtensionToMimeTypeMap();
|
$this->extensionMap = $extensionMap ?: new GeneratedExtensionToMimeTypeMap();
|
||||||
$this->bufferSampleSize = $bufferSampleSize;
|
$this->bufferSampleSize = $bufferSampleSize;
|
||||||
|
$this->inconclusiveMimetypes = $inconclusiveMimetypes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function detectMimeType(string $path, $contents): ?string
|
public function detectMimeType(string $path, $contents): ?string
|
||||||
@@ -44,7 +57,7 @@ class FinfoMimeTypeDetector implements MimeTypeDetector
|
|||||||
? (@$this->finfo->buffer($this->takeSample($contents)) ?: null)
|
? (@$this->finfo->buffer($this->takeSample($contents)) ?: null)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if ($mimeType !== null && ! in_array($mimeType, self::INCONCLUSIVE_MIME_TYPES)) {
|
if ($mimeType !== null && ! in_array($mimeType, $this->inconclusiveMimetypes)) {
|
||||||
return $mimeType;
|
return $mimeType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'atomsvc' => 'application/atomsvc+xml',
|
'atomsvc' => 'application/atomsvc+xml',
|
||||||
'atx' => 'application/vnd.antix.game-component',
|
'atx' => 'application/vnd.antix.game-component',
|
||||||
'au' => 'audio/x-au',
|
'au' => 'audio/x-au',
|
||||||
|
'avci' => 'image/avci',
|
||||||
|
'avcs' => 'image/avcs',
|
||||||
'avi' => 'video/x-msvideo',
|
'avi' => 'video/x-msvideo',
|
||||||
'avif' => 'image/avif',
|
'avif' => 'image/avif',
|
||||||
'aw' => 'application/applixware',
|
'aw' => 'application/applixware',
|
||||||
@@ -160,6 +162,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'com' => 'application/x-msdownload',
|
'com' => 'application/x-msdownload',
|
||||||
'conf' => 'text/plain',
|
'conf' => 'text/plain',
|
||||||
'cpio' => 'application/x-cpio',
|
'cpio' => 'application/x-cpio',
|
||||||
|
'cpl' => 'application/cpl+xml',
|
||||||
'cpp' => 'text/x-c',
|
'cpp' => 'text/x-c',
|
||||||
'cpt' => 'application/mac-compactpro',
|
'cpt' => 'application/mac-compactpro',
|
||||||
'crd' => 'application/x-mscardfile',
|
'crd' => 'application/x-mscardfile',
|
||||||
@@ -583,6 +586,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'mpd' => 'application/dash+xml',
|
'mpd' => 'application/dash+xml',
|
||||||
'mpe' => 'video/mpeg',
|
'mpe' => 'video/mpeg',
|
||||||
'mpeg' => 'video/mpeg',
|
'mpeg' => 'video/mpeg',
|
||||||
|
'mpf' => 'application/media-policy-dataset+xml',
|
||||||
'mpg' => 'video/mpeg',
|
'mpg' => 'video/mpeg',
|
||||||
'mpg4' => 'video/mp4',
|
'mpg4' => 'video/mp4',
|
||||||
'mpga' => 'audio/mpeg',
|
'mpga' => 'audio/mpeg',
|
||||||
@@ -726,6 +730,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'pgm' => 'image/x-portable-graymap',
|
'pgm' => 'image/x-portable-graymap',
|
||||||
'pgn' => 'application/x-chess-pgn',
|
'pgn' => 'application/x-chess-pgn',
|
||||||
'pgp' => 'application/pgp',
|
'pgp' => 'application/pgp',
|
||||||
|
'phar' => 'application/octet-stream',
|
||||||
'php' => 'application/x-httpd-php',
|
'php' => 'application/x-httpd-php',
|
||||||
'php3' => 'application/x-httpd-php',
|
'php3' => 'application/x-httpd-php',
|
||||||
'php4' => 'application/x-httpd-php',
|
'php4' => 'application/x-httpd-php',
|
||||||
@@ -760,7 +765,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
|
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
|
||||||
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
||||||
'pqa' => 'application/vnd.palm',
|
'pqa' => 'application/vnd.palm',
|
||||||
'prc' => 'application/x-pilot',
|
'prc' => 'model/prc',
|
||||||
'pre' => 'application/vnd.lotus-freelance',
|
'pre' => 'application/vnd.lotus-freelance',
|
||||||
'prf' => 'application/pics-rules',
|
'prf' => 'application/pics-rules',
|
||||||
'provx' => 'application/provenance+xml',
|
'provx' => 'application/provenance+xml',
|
||||||
@@ -1000,6 +1005,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'txd' => 'application/vnd.genomatix.tuxedo',
|
'txd' => 'application/vnd.genomatix.tuxedo',
|
||||||
'txf' => 'application/vnd.mobius.txf',
|
'txf' => 'application/vnd.mobius.txf',
|
||||||
'txt' => 'text/plain',
|
'txt' => 'text/plain',
|
||||||
|
'u3d' => 'model/u3d',
|
||||||
'u8dsn' => 'message/global-delivery-status',
|
'u8dsn' => 'message/global-delivery-status',
|
||||||
'u8hdr' => 'message/global-headers',
|
'u8hdr' => 'message/global-headers',
|
||||||
'u8mdn' => 'message/global-disposition-notification',
|
'u8mdn' => 'message/global-disposition-notification',
|
||||||
@@ -1096,6 +1102,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap
|
|||||||
'webp' => 'image/webp',
|
'webp' => 'image/webp',
|
||||||
'wg' => 'application/vnd.pmi.widget',
|
'wg' => 'application/vnd.pmi.widget',
|
||||||
'wgt' => 'application/widget',
|
'wgt' => 'application/widget',
|
||||||
|
'wif' => 'application/watcherinfo+xml',
|
||||||
'wks' => 'application/vnd.ms-works',
|
'wks' => 'application/vnd.ms-works',
|
||||||
'wm' => 'video/x-ms-wm',
|
'wm' => 'video/x-ms-wm',
|
||||||
'wma' => 'audio/x-ms-wma',
|
'wma' => 'audio/x-ms-wma',
|
||||||
|
|||||||
37
vendor/monolog/monolog/CHANGELOG.md
vendored
37
vendor/monolog/monolog/CHANGELOG.md
vendored
@@ -1,3 +1,40 @@
|
|||||||
|
### 2.7.0 (2022-06-09)
|
||||||
|
|
||||||
|
* Added `$datetime` parameter to `Logger::addRecord` as low level API to allow logging into the past or future (#1682)
|
||||||
|
* Added `Logger::useLoggingLoopDetection` to allow disabling cyclic logging detection in concurrent frameworks (#1681)
|
||||||
|
* Fixed handling of fatal errors if callPrevious is disabled in ErrorHandler (#1670)
|
||||||
|
* Marked the reusable `Monolog\Test\TestCase` class as `@internal` to make sure PHPStorm does not show it above PHPUnit, you may still use it to test your own handlers/etc though (#1677)
|
||||||
|
* Fixed RotatingFileHandler issue when the date format contained slashes (#1671)
|
||||||
|
|
||||||
|
### 2.6.0 (2022-05-10)
|
||||||
|
|
||||||
|
* Deprecated `SwiftMailerHandler`, use `SymfonyMailerHandler` instead
|
||||||
|
* Added `SymfonyMailerHandler` (#1663)
|
||||||
|
* Added ElasticSearch 8.x support to the ElasticsearchHandler (#1662)
|
||||||
|
* Added a way to filter/modify stack traces in LineFormatter (#1665)
|
||||||
|
* Fixed UdpSocket not being able to reopen/reconnect after close()
|
||||||
|
* Fixed infinite loops if a Handler is triggering logging while handling log records
|
||||||
|
|
||||||
|
### 2.5.0 (2022-04-08)
|
||||||
|
|
||||||
|
* Added `callType` to IntrospectionProcessor (#1612)
|
||||||
|
* Fixed AsMonologProcessor syntax to be compatible with PHP 7.2 (#1651)
|
||||||
|
|
||||||
|
### 2.4.0 (2022-03-14)
|
||||||
|
|
||||||
|
* Added [`Monolog\LogRecord`](src/Monolog/LogRecord.php) interface that can be used to type-hint records like `array|\Monolog\LogRecord $record` to be forward compatible with the upcoming Monolog 3 changes
|
||||||
|
* Added `includeStacktraces` constructor params to LineFormatter & JsonFormatter (#1603)
|
||||||
|
* Added `persistent`, `timeout`, `writingTimeout`, `connectionTimeout`, `chunkSize` constructor params to SocketHandler and derivatives (#1600)
|
||||||
|
* Added `AsMonologProcessor` PHP attribute which can help autowiring / autoconfiguration of processors if frameworks / integrations decide to make use of it. This is useless when used purely with Monolog (#1637)
|
||||||
|
* Added support for keeping native BSON types as is in MongoDBFormatter (#1620)
|
||||||
|
* Added support for a `user_agent` key in WebProcessor, disabled by default but you can use it by configuring the $extraFields you want (#1613)
|
||||||
|
* Added support for username/userIcon in SlackWebhookHandler (#1617)
|
||||||
|
* Added extension points to BrowserConsoleHandler (#1593)
|
||||||
|
* Added record message/context/extra info to exceptions thrown when a StreamHandler cannot open its stream to avoid completely losing the data logged (#1630)
|
||||||
|
* Fixed error handler signature to accept a null $context which happens with internal PHP errors (#1614)
|
||||||
|
* Fixed a few setter methods not returning `self` (#1609)
|
||||||
|
* Fixed handling of records going over the max Telegram message length (#1616)
|
||||||
|
|
||||||
### 2.3.5 (2021-10-01)
|
### 2.3.5 (2021-10-01)
|
||||||
|
|
||||||
* Fixed regression in StreamHandler since 2.3.3 on systems with the memory_limit set to >=20GB (#1592)
|
* Fixed regression in StreamHandler since 2.3.3 on systems with the memory_limit set to >=20GB (#1592)
|
||||||
|
|||||||
3
vendor/monolog/monolog/README.md
vendored
3
vendor/monolog/monolog/README.md
vendored
@@ -93,6 +93,9 @@ Bugs and feature request are tracked on [GitHub](https://github.com/Seldaek/mono
|
|||||||
- [Yii 2](http://www.yiiframework.com/) is usable with Monolog via the [yii2-monolog](https://github.com/merorafael/yii2-monolog) or [yii2-psr-log-target](https://github.com/samdark/yii2-psr-log-target) plugins.
|
- [Yii 2](http://www.yiiframework.com/) is usable with Monolog via the [yii2-monolog](https://github.com/merorafael/yii2-monolog) or [yii2-psr-log-target](https://github.com/samdark/yii2-psr-log-target) plugins.
|
||||||
- [Hawkbit Micro Framework](https://github.com/HawkBitPhp/hawkbit) comes out of the box with Monolog.
|
- [Hawkbit Micro Framework](https://github.com/HawkBitPhp/hawkbit) comes out of the box with Monolog.
|
||||||
- [SilverStripe 4](https://www.silverstripe.org/) comes out of the box with Monolog.
|
- [SilverStripe 4](https://www.silverstripe.org/) comes out of the box with Monolog.
|
||||||
|
- [Drupal](https://www.drupal.org/) is usable with Monolog via the [monolog](https://www.drupal.org/project/monolog) module.
|
||||||
|
- [Aimeos ecommerce framework](https://aimeos.org/) is usable with Monolog via the [ai-monolog](https://github.com/aimeos/ai-monolog) extension.
|
||||||
|
- [Magento](https://magento.com/) comes out of the box with Monolog.
|
||||||
|
|
||||||
### Author
|
### Author
|
||||||
|
|
||||||
|
|||||||
28
vendor/monolog/monolog/composer.json
vendored
28
vendor/monolog/monolog/composer.json
vendored
@@ -17,20 +17,25 @@
|
|||||||
"psr/log": "^1.0.1 || ^2.0 || ^3.0"
|
"psr/log": "^1.0.1 || ^2.0 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"ext-json": "*",
|
||||||
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
||||||
"doctrine/couchdb": "~1.0@dev",
|
"doctrine/couchdb": "~1.0@dev",
|
||||||
"elasticsearch/elasticsearch": "^7",
|
"elasticsearch/elasticsearch": "^7 || ^8",
|
||||||
"mongodb/mongodb": "^1.8",
|
|
||||||
"graylog2/gelf-php": "^1.4.2",
|
"graylog2/gelf-php": "^1.4.2",
|
||||||
|
"guzzlehttp/guzzle": "^7.4",
|
||||||
|
"guzzlehttp/psr7": "^2.2",
|
||||||
|
"mongodb/mongodb": "^1.8",
|
||||||
"php-amqplib/php-amqplib": "~2.4 || ^3",
|
"php-amqplib/php-amqplib": "~2.4 || ^3",
|
||||||
"php-console/php-console": "^3.1.3",
|
"php-console/php-console": "^3.1.3",
|
||||||
"phpspec/prophecy": "^1.6.1",
|
"phpspec/prophecy": "^1.15",
|
||||||
"phpunit/phpunit": "^8.5",
|
"phpstan/phpstan": "^0.12.91",
|
||||||
|
"phpunit/phpunit": "^8.5.14",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1",
|
||||||
"rollbar/rollbar": "^1.3",
|
"rollbar/rollbar": "^1.3 || ^2 || ^3",
|
||||||
"ruflin/elastica": ">=0.90@dev",
|
"ruflin/elastica": "^7",
|
||||||
"swiftmailer/swiftmailer": "^5.3|^6.0",
|
"swiftmailer/swiftmailer": "^5.3|^6.0",
|
||||||
"phpstan/phpstan": "^0.12.91"
|
"symfony/mailer": "^5.4 || ^6",
|
||||||
|
"symfony/mime": "^5.4 || ^6"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
||||||
@@ -64,12 +69,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "vendor/bin/phpunit",
|
"test": "@php vendor/bin/phpunit",
|
||||||
"phpstan": "vendor/bin/phpstan analyse"
|
"phpstan": "@php vendor/bin/phpstan analyse"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"lock": false,
|
"lock": false,
|
||||||
"sort-packages": true,
|
"sort-packages": true,
|
||||||
"platform-check": false
|
"platform-check": false,
|
||||||
|
"allow-plugins": {
|
||||||
|
"composer/package-versions-deprecated": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
46
vendor/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php
vendored
Normal file
46
vendor/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Monolog package.
|
||||||
|
*
|
||||||
|
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Monolog\Attribute;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A reusable attribute to help configure a class or a method as a processor.
|
||||||
|
*
|
||||||
|
* Using it offers no guarantee: it needs to be leveraged by a Monolog third-party consumer.
|
||||||
|
*
|
||||||
|
* Using it with the Monolog library only has no effect at all: processors should still be turned into a callable if
|
||||||
|
* needed and manually pushed to the loggers and to the processable handlers.
|
||||||
|
*/
|
||||||
|
#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)]
|
||||||
|
class AsMonologProcessor
|
||||||
|
{
|
||||||
|
/** @var string|null */
|
||||||
|
public $channel = null;
|
||||||
|
/** @var string|null */
|
||||||
|
public $handler = null;
|
||||||
|
/** @var string|null */
|
||||||
|
public $method = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string|null $channel The logging channel the processor should be pushed to.
|
||||||
|
* @param string|null $handler The handler the processor should be pushed to.
|
||||||
|
* @param string|null $method The method that processes the records (if the attribute is used at the class level).
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
?string $channel = null,
|
||||||
|
?string $handler = null,
|
||||||
|
?string $method = null
|
||||||
|
) {
|
||||||
|
$this->channel = $channel;
|
||||||
|
$this->handler = $handler;
|
||||||
|
$this->method = $method;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,8 +46,8 @@ class ErrorHandler
|
|||||||
private $fatalLevel = LogLevel::ALERT;
|
private $fatalLevel = LogLevel::ALERT;
|
||||||
/** @var ?string */
|
/** @var ?string */
|
||||||
private $reservedMemory = null;
|
private $reservedMemory = null;
|
||||||
/** @var ?mixed */
|
/** @var ?array{type: int, message: string, file: string, line: int, trace: mixed} */
|
||||||
private $lastFatalTrace;
|
private $lastFatalData = null;
|
||||||
/** @var int[] */
|
/** @var int[] */
|
||||||
private static $fatalErrors = [E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR];
|
private static $fatalErrors = [E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR];
|
||||||
|
|
||||||
@@ -210,7 +210,7 @@ class ErrorHandler
|
|||||||
*
|
*
|
||||||
* @param mixed[] $context
|
* @param mixed[] $context
|
||||||
*/
|
*/
|
||||||
public function handleError(int $code, string $message, string $file = '', int $line = 0, array $context = []): bool
|
public function handleError(int $code, string $message, string $file = '', int $line = 0, ?array $context = []): bool
|
||||||
{
|
{
|
||||||
if ($this->handleOnlyReportedErrors && !(error_reporting() & $code)) {
|
if ($this->handleOnlyReportedErrors && !(error_reporting() & $code)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -223,7 +223,7 @@ class ErrorHandler
|
|||||||
} else {
|
} else {
|
||||||
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
|
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
|
||||||
array_shift($trace); // Exclude handleError from trace
|
array_shift($trace); // Exclude handleError from trace
|
||||||
$this->lastFatalTrace = $trace;
|
$this->lastFatalData = ['type' => $code, 'message' => $message, 'file' => $file, 'line' => $line, 'trace' => $trace];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->previousErrorHandler === true) {
|
if ($this->previousErrorHandler === true) {
|
||||||
@@ -242,12 +242,18 @@ class ErrorHandler
|
|||||||
{
|
{
|
||||||
$this->reservedMemory = '';
|
$this->reservedMemory = '';
|
||||||
|
|
||||||
$lastError = error_get_last();
|
if (is_array($this->lastFatalData)) {
|
||||||
|
$lastError = $this->lastFatalData;
|
||||||
|
} else {
|
||||||
|
$lastError = error_get_last();
|
||||||
|
}
|
||||||
|
|
||||||
if ($lastError && in_array($lastError['type'], self::$fatalErrors, true)) {
|
if ($lastError && in_array($lastError['type'], self::$fatalErrors, true)) {
|
||||||
|
$trace = $lastError['trace'] ?? null;
|
||||||
$this->logger->log(
|
$this->logger->log(
|
||||||
$this->fatalLevel,
|
$this->fatalLevel,
|
||||||
'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'],
|
'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'],
|
||||||
['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace]
|
['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $trace]
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($this->logger instanceof Logger) {
|
if ($this->logger instanceof Logger) {
|
||||||
|
|||||||
@@ -67,6 +67,10 @@ class GelfMessageFormatter extends NormalizerFormatter
|
|||||||
|
|
||||||
public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
|
public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
|
||||||
{
|
{
|
||||||
|
if (!class_exists(Message::class)) {
|
||||||
|
throw new \RuntimeException('Composer package graylog2/gelf-php is required to use Monolog\'s GelfMessageFormatter');
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct('U.u');
|
parent::__construct('U.u');
|
||||||
|
|
||||||
$this->systemName = (is_null($systemName) || $systemName === '') ? (string) gethostname() : $systemName;
|
$this->systemName = (is_null($systemName) || $systemName === '') ? (string) gethostname() : $systemName;
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ class JsonFormatter extends NormalizerFormatter
|
|||||||
/**
|
/**
|
||||||
* @param self::BATCH_MODE_* $batchMode
|
* @param self::BATCH_MODE_* $batchMode
|
||||||
*/
|
*/
|
||||||
public function __construct(int $batchMode = self::BATCH_MODE_JSON, bool $appendNewline = true, bool $ignoreEmptyContextAndExtra = false)
|
public function __construct(int $batchMode = self::BATCH_MODE_JSON, bool $appendNewline = true, bool $ignoreEmptyContextAndExtra = false, bool $includeStacktraces = false)
|
||||||
{
|
{
|
||||||
$this->batchMode = $batchMode;
|
$this->batchMode = $batchMode;
|
||||||
$this->appendNewline = $appendNewline;
|
$this->appendNewline = $appendNewline;
|
||||||
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
||||||
|
$this->includeStacktraces = $includeStacktraces;
|
||||||
|
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
@@ -109,11 +110,13 @@ class JsonFormatter extends NormalizerFormatter
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return void
|
* @return self
|
||||||
*/
|
*/
|
||||||
public function includeStacktraces(bool $include = true)
|
public function includeStacktraces(bool $include = true): self
|
||||||
{
|
{
|
||||||
$this->includeStacktraces = $include;
|
$this->includeStacktraces = $include;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ class LineFormatter extends NormalizerFormatter
|
|||||||
protected $ignoreEmptyContextAndExtra;
|
protected $ignoreEmptyContextAndExtra;
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
protected $includeStacktraces;
|
protected $includeStacktraces;
|
||||||
|
/** @var ?callable */
|
||||||
|
protected $stacktracesParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string|null $format The format of the message
|
* @param string|null $format The format of the message
|
||||||
@@ -40,30 +42,38 @@ class LineFormatter extends NormalizerFormatter
|
|||||||
* @param bool $allowInlineLineBreaks Whether to allow inline line breaks in log entries
|
* @param bool $allowInlineLineBreaks Whether to allow inline line breaks in log entries
|
||||||
* @param bool $ignoreEmptyContextAndExtra
|
* @param bool $ignoreEmptyContextAndExtra
|
||||||
*/
|
*/
|
||||||
public function __construct(?string $format = null, ?string $dateFormat = null, bool $allowInlineLineBreaks = false, bool $ignoreEmptyContextAndExtra = false)
|
public function __construct(?string $format = null, ?string $dateFormat = null, bool $allowInlineLineBreaks = false, bool $ignoreEmptyContextAndExtra = false, bool $includeStacktraces = false)
|
||||||
{
|
{
|
||||||
$this->format = $format === null ? static::SIMPLE_FORMAT : $format;
|
$this->format = $format === null ? static::SIMPLE_FORMAT : $format;
|
||||||
$this->allowInlineLineBreaks = $allowInlineLineBreaks;
|
$this->allowInlineLineBreaks = $allowInlineLineBreaks;
|
||||||
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
||||||
|
$this->includeStacktraces($includeStacktraces);
|
||||||
parent::__construct($dateFormat);
|
parent::__construct($dateFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function includeStacktraces(bool $include = true): void
|
public function includeStacktraces(bool $include = true, ?callable $parser = null): self
|
||||||
{
|
{
|
||||||
$this->includeStacktraces = $include;
|
$this->includeStacktraces = $include;
|
||||||
if ($this->includeStacktraces) {
|
if ($this->includeStacktraces) {
|
||||||
$this->allowInlineLineBreaks = true;
|
$this->allowInlineLineBreaks = true;
|
||||||
|
$this->stacktracesParser = $parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function allowInlineLineBreaks(bool $allow = true): void
|
public function allowInlineLineBreaks(bool $allow = true): self
|
||||||
{
|
{
|
||||||
$this->allowInlineLineBreaks = $allow;
|
$this->allowInlineLineBreaks = $allow;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ignoreEmptyContextAndExtra(bool $ignore = true): void
|
public function ignoreEmptyContextAndExtra(bool $ignore = true): self
|
||||||
{
|
{
|
||||||
$this->ignoreEmptyContextAndExtra = $ignore;
|
$this->ignoreEmptyContextAndExtra = $ignore;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -202,9 +212,25 @@ class LineFormatter extends NormalizerFormatter
|
|||||||
$str .= '): ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . ')';
|
$str .= '): ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . ')';
|
||||||
|
|
||||||
if ($this->includeStacktraces) {
|
if ($this->includeStacktraces) {
|
||||||
$str .= "\n[stacktrace]\n" . $e->getTraceAsString() . "\n";
|
$str .= $this->stacktracesParser($e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $str;
|
return $str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function stacktracesParser(\Throwable $e): string
|
||||||
|
{
|
||||||
|
$trace = $e->getTraceAsString();
|
||||||
|
|
||||||
|
if ($this->stacktracesParser) {
|
||||||
|
$trace = $this->stacktracesParserCustom($trace);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "\n[stacktrace]\n" . $trace . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
private function stacktracesParserCustom(string $trace): string
|
||||||
|
{
|
||||||
|
return implode("\n", array_filter(array_map($this->stacktracesParser, explode("\n", $trace))));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
namespace Monolog\Formatter;
|
namespace Monolog\Formatter;
|
||||||
|
|
||||||
|
use MongoDB\BSON\Type;
|
||||||
use MongoDB\BSON\UTCDateTime;
|
use MongoDB\BSON\UTCDateTime;
|
||||||
use Monolog\Utils;
|
use Monolog\Utils;
|
||||||
|
|
||||||
@@ -85,7 +86,7 @@ class MongoDBFormatter implements FormatterInterface
|
|||||||
$array[$name] = $this->formatException($value, $nestingLevel + 1);
|
$array[$name] = $this->formatException($value, $nestingLevel + 1);
|
||||||
} elseif (is_array($value)) {
|
} elseif (is_array($value)) {
|
||||||
$array[$name] = $this->formatArray($value, $nestingLevel + 1);
|
$array[$name] = $this->formatArray($value, $nestingLevel + 1);
|
||||||
} elseif (is_object($value)) {
|
} elseif (is_object($value) && !$value instanceof Type) {
|
||||||
$array[$name] = $this->formatObject($value, $nestingLevel + 1);
|
$array[$name] = $this->formatObject($value, $nestingLevel + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -267,13 +267,17 @@ class NormalizerFormatter implements FormatterInterface
|
|||||||
return $date->format($this->dateFormat);
|
return $date->format($this->dateFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addJsonEncodeOption(int $option): void
|
public function addJsonEncodeOption(int $option): self
|
||||||
{
|
{
|
||||||
$this->jsonEncodeOptions |= $option;
|
$this->jsonEncodeOptions |= $option;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function removeJsonEncodeOption(int $option): void
|
public function removeJsonEncodeOption(int $option): self
|
||||||
{
|
{
|
||||||
$this->jsonEncodeOptions &= ~$option;
|
$this->jsonEncodeOptions &= ~$option;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,10 +11,17 @@
|
|||||||
|
|
||||||
namespace Monolog\Handler;
|
namespace Monolog\Handler;
|
||||||
|
|
||||||
use Monolog\Formatter\LineFormatter;
|
|
||||||
use Monolog\Formatter\FormatterInterface;
|
use Monolog\Formatter\FormatterInterface;
|
||||||
|
use Monolog\Formatter\LineFormatter;
|
||||||
use Monolog\Utils;
|
use Monolog\Utils;
|
||||||
|
|
||||||
|
use function count;
|
||||||
|
use function headers_list;
|
||||||
|
use function stripos;
|
||||||
|
use function trigger_error;
|
||||||
|
|
||||||
|
use const E_USER_DEPRECATED;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler sending logs to browser's javascript console with no browser extension required
|
* Handler sending logs to browser's javascript console with no browser extension required
|
||||||
*
|
*
|
||||||
@@ -29,6 +36,10 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|||||||
/** @var FormattedRecord[] */
|
/** @var FormattedRecord[] */
|
||||||
protected static $records = [];
|
protected static $records = [];
|
||||||
|
|
||||||
|
protected const FORMAT_HTML = 'html';
|
||||||
|
protected const FORMAT_JS = 'js';
|
||||||
|
protected const FORMAT_UNKNOWN = 'unknown';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*
|
*
|
||||||
@@ -65,14 +76,14 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|||||||
public static function send(): void
|
public static function send(): void
|
||||||
{
|
{
|
||||||
$format = static::getResponseFormat();
|
$format = static::getResponseFormat();
|
||||||
if ($format === 'unknown') {
|
if ($format === self::FORMAT_UNKNOWN) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count(static::$records)) {
|
if (count(static::$records)) {
|
||||||
if ($format === 'html') {
|
if ($format === self::FORMAT_HTML) {
|
||||||
static::writeOutput('<script>' . static::generateScript() . '</script>');
|
static::writeOutput('<script>' . static::generateScript() . '</script>');
|
||||||
} elseif ($format === 'js') {
|
} elseif ($format === self::FORMAT_JS) {
|
||||||
static::writeOutput(static::generateScript());
|
static::writeOutput(static::generateScript());
|
||||||
}
|
}
|
||||||
static::resetStatic();
|
static::resetStatic();
|
||||||
@@ -125,25 +136,37 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|||||||
* If Content-Type is anything else -> unknown
|
* If Content-Type is anything else -> unknown
|
||||||
*
|
*
|
||||||
* @return string One of 'js', 'html' or 'unknown'
|
* @return string One of 'js', 'html' or 'unknown'
|
||||||
|
* @phpstan-return self::FORMAT_*
|
||||||
*/
|
*/
|
||||||
protected static function getResponseFormat(): string
|
protected static function getResponseFormat(): string
|
||||||
{
|
{
|
||||||
// Check content type
|
// Check content type
|
||||||
foreach (headers_list() as $header) {
|
foreach (headers_list() as $header) {
|
||||||
if (stripos($header, 'content-type:') === 0) {
|
if (stripos($header, 'content-type:') === 0) {
|
||||||
// This handler only works with HTML and javascript outputs
|
return static::getResponseFormatFromContentType($header);
|
||||||
// text/javascript is obsolete in favour of application/javascript, but still used
|
|
||||||
if (stripos($header, 'application/javascript') !== false || stripos($header, 'text/javascript') !== false) {
|
|
||||||
return 'js';
|
|
||||||
}
|
|
||||||
if (stripos($header, 'text/html') === false) {
|
|
||||||
return 'unknown';
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 'html';
|
return self::FORMAT_HTML;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string One of 'js', 'html' or 'unknown'
|
||||||
|
* @phpstan-return self::FORMAT_*
|
||||||
|
*/
|
||||||
|
protected static function getResponseFormatFromContentType(string $contentType): string
|
||||||
|
{
|
||||||
|
// This handler only works with HTML and javascript outputs
|
||||||
|
// text/javascript is obsolete in favour of application/javascript, but still used
|
||||||
|
if (stripos($contentType, 'application/javascript') !== false || stripos($contentType, 'text/javascript') !== false) {
|
||||||
|
return self::FORMAT_JS;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stripos($contentType, 'text/html') !== false) {
|
||||||
|
return self::FORMAT_HTML;
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::FORMAT_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function generateScript(): string
|
private static function generateScript(): string
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
namespace Monolog\Handler;
|
namespace Monolog\Handler;
|
||||||
|
|
||||||
|
use Elastic\Elasticsearch\Response\Elasticsearch;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Monolog\Logger;
|
use Monolog\Logger;
|
||||||
@@ -19,6 +20,8 @@ use Monolog\Formatter\ElasticsearchFormatter;
|
|||||||
use InvalidArgumentException;
|
use InvalidArgumentException;
|
||||||
use Elasticsearch\Common\Exceptions\RuntimeException as ElasticsearchRuntimeException;
|
use Elasticsearch\Common\Exceptions\RuntimeException as ElasticsearchRuntimeException;
|
||||||
use Elasticsearch\Client;
|
use Elasticsearch\Client;
|
||||||
|
use Elastic\Elasticsearch\Exception\InvalidArgumentException as ElasticInvalidArgumentException;
|
||||||
|
use Elastic\Elasticsearch\Client as Client8;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Elasticsearch handler
|
* Elasticsearch handler
|
||||||
@@ -44,7 +47,7 @@ use Elasticsearch\Client;
|
|||||||
class ElasticsearchHandler extends AbstractProcessingHandler
|
class ElasticsearchHandler extends AbstractProcessingHandler
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var Client
|
* @var Client|Client8
|
||||||
*/
|
*/
|
||||||
protected $client;
|
protected $client;
|
||||||
|
|
||||||
@@ -54,11 +57,20 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
protected $options = [];
|
protected $options = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Client $client Elasticsearch Client object
|
* @var bool
|
||||||
* @param mixed[] $options Handler configuration
|
|
||||||
*/
|
*/
|
||||||
public function __construct(Client $client, array $options = [], $level = Logger::DEBUG, bool $bubble = true)
|
private $needsType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Client|Client8 $client Elasticsearch Client object
|
||||||
|
* @param mixed[] $options Handler configuration
|
||||||
|
*/
|
||||||
|
public function __construct($client, array $options = [], $level = Logger::DEBUG, bool $bubble = true)
|
||||||
{
|
{
|
||||||
|
if (!$client instanceof Client && !$client instanceof Client8) {
|
||||||
|
throw new \TypeError('Elasticsearch\Client or Elastic\Elasticsearch\Client instance required');
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($level, $bubble);
|
parent::__construct($level, $bubble);
|
||||||
$this->client = $client;
|
$this->client = $client;
|
||||||
$this->options = array_merge(
|
$this->options = array_merge(
|
||||||
@@ -69,6 +81,14 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
],
|
],
|
||||||
$options
|
$options
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if ($client instanceof Client8 || $client::VERSION[0] === '7') {
|
||||||
|
$this->needsType = false;
|
||||||
|
// force the type to _doc for ES8/ES7
|
||||||
|
$this->options['type'] = '_doc';
|
||||||
|
} else {
|
||||||
|
$this->needsType = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -133,9 +153,11 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
|
|
||||||
foreach ($records as $record) {
|
foreach ($records as $record) {
|
||||||
$params['body'][] = [
|
$params['body'][] = [
|
||||||
'index' => [
|
'index' => $this->needsType ? [
|
||||||
'_index' => $record['_index'],
|
'_index' => $record['_index'],
|
||||||
'_type' => $record['_type'],
|
'_type' => $record['_type'],
|
||||||
|
] : [
|
||||||
|
'_index' => $record['_index'],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
unset($record['_index'], $record['_type']);
|
unset($record['_index'], $record['_type']);
|
||||||
@@ -143,6 +165,7 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
$params['body'][] = $record;
|
$params['body'][] = $record;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @var Elasticsearch */
|
||||||
$responses = $this->client->bulk($params);
|
$responses = $this->client->bulk($params);
|
||||||
|
|
||||||
if ($responses['errors'] === true) {
|
if ($responses['errors'] === true) {
|
||||||
@@ -160,9 +183,9 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
*
|
*
|
||||||
* Only the first error is converted into an exception.
|
* Only the first error is converted into an exception.
|
||||||
*
|
*
|
||||||
* @param mixed[] $responses returned by $this->client->bulk()
|
* @param mixed[]|Elasticsearch $responses returned by $this->client->bulk()
|
||||||
*/
|
*/
|
||||||
protected function createExceptionFromResponses(array $responses): ElasticsearchRuntimeException
|
protected function createExceptionFromResponses($responses): Throwable
|
||||||
{
|
{
|
||||||
foreach ($responses['items'] ?? [] as $item) {
|
foreach ($responses['items'] ?? [] as $item) {
|
||||||
if (isset($item['index']['error'])) {
|
if (isset($item['index']['error'])) {
|
||||||
@@ -170,6 +193,10 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (class_exists(ElasticInvalidArgumentException::class)) {
|
||||||
|
return new ElasticInvalidArgumentException('Elasticsearch failed to index one or more records.');
|
||||||
|
}
|
||||||
|
|
||||||
return new ElasticsearchRuntimeException('Elasticsearch failed to index one or more records.');
|
return new ElasticsearchRuntimeException('Elasticsearch failed to index one or more records.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,10 +205,14 @@ class ElasticsearchHandler extends AbstractProcessingHandler
|
|||||||
*
|
*
|
||||||
* @param mixed[] $error
|
* @param mixed[] $error
|
||||||
*/
|
*/
|
||||||
protected function createExceptionFromError(array $error): ElasticsearchRuntimeException
|
protected function createExceptionFromError(array $error): Throwable
|
||||||
{
|
{
|
||||||
$previous = isset($error['caused_by']) ? $this->createExceptionFromError($error['caused_by']) : null;
|
$previous = isset($error['caused_by']) ? $this->createExceptionFromError($error['caused_by']) : null;
|
||||||
|
|
||||||
|
if (class_exists(ElasticInvalidArgumentException::class)) {
|
||||||
|
return new ElasticInvalidArgumentException($error['type'] . ': ' . $error['reason'], 0, $previous);
|
||||||
|
}
|
||||||
|
|
||||||
return new ElasticsearchRuntimeException($error['type'] . ': ' . $error['reason'], 0, $previous);
|
return new ElasticsearchRuntimeException($error['type'] . ': ' . $error['reason'], 0, $previous);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,8 +45,16 @@ class FleepHookHandler extends SocketHandler
|
|||||||
* @param string $token Webhook token
|
* @param string $token Webhook token
|
||||||
* @throws MissingExtensionException
|
* @throws MissingExtensionException
|
||||||
*/
|
*/
|
||||||
public function __construct(string $token, $level = Logger::DEBUG, bool $bubble = true)
|
public function __construct(
|
||||||
{
|
string $token,
|
||||||
|
$level = Logger::DEBUG,
|
||||||
|
bool $bubble = true,
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
|
) {
|
||||||
if (!extension_loaded('openssl')) {
|
if (!extension_loaded('openssl')) {
|
||||||
throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FleepHookHandler');
|
throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FleepHookHandler');
|
||||||
}
|
}
|
||||||
@@ -54,7 +62,16 @@ class FleepHookHandler extends SocketHandler
|
|||||||
$this->token = $token;
|
$this->token = $token;
|
||||||
|
|
||||||
$connectionString = 'ssl://' . static::FLEEP_HOST . ':443';
|
$connectionString = 'ssl://' . static::FLEEP_HOST . ':443';
|
||||||
parent::__construct($connectionString, $level, $bubble);
|
parent::__construct(
|
||||||
|
$connectionString,
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -39,13 +39,30 @@ class FlowdockHandler extends SocketHandler
|
|||||||
/**
|
/**
|
||||||
* @throws MissingExtensionException if OpenSSL is missing
|
* @throws MissingExtensionException if OpenSSL is missing
|
||||||
*/
|
*/
|
||||||
public function __construct(string $apiToken, $level = Logger::DEBUG, bool $bubble = true)
|
public function __construct(
|
||||||
{
|
string $apiToken,
|
||||||
|
$level = Logger::DEBUG,
|
||||||
|
bool $bubble = true,
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
|
) {
|
||||||
if (!extension_loaded('openssl')) {
|
if (!extension_loaded('openssl')) {
|
||||||
throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FlowdockHandler');
|
throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FlowdockHandler');
|
||||||
}
|
}
|
||||||
|
|
||||||
parent::__construct('ssl://api.flowdock.com:443', $level, $bubble);
|
parent::__construct(
|
||||||
|
'ssl://api.flowdock.com:443',
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
$this->apiToken = $apiToken;
|
$this->apiToken = $apiToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,18 @@ class InsightOpsHandler extends SocketHandler
|
|||||||
*
|
*
|
||||||
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
||||||
*/
|
*/
|
||||||
public function __construct(string $token, string $region = 'us', bool $useSSL = true, $level = Logger::DEBUG, bool $bubble = true)
|
public function __construct(
|
||||||
{
|
string $token,
|
||||||
|
string $region = 'us',
|
||||||
|
bool $useSSL = true,
|
||||||
|
$level = Logger::DEBUG,
|
||||||
|
bool $bubble = true,
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
|
) {
|
||||||
if ($useSSL && !extension_loaded('openssl')) {
|
if ($useSSL && !extension_loaded('openssl')) {
|
||||||
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for InsightOpsHandler');
|
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for InsightOpsHandler');
|
||||||
}
|
}
|
||||||
@@ -43,7 +53,16 @@ class InsightOpsHandler extends SocketHandler
|
|||||||
? 'ssl://' . $region . '.data.logs.insight.rapid7.com:443'
|
? 'ssl://' . $region . '.data.logs.insight.rapid7.com:443'
|
||||||
: $region . '.data.logs.insight.rapid7.com:80';
|
: $region . '.data.logs.insight.rapid7.com:80';
|
||||||
|
|
||||||
parent::__construct($endpoint, $level, $bubble);
|
parent::__construct(
|
||||||
|
$endpoint,
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
$this->logToken = $token;
|
$this->logToken = $token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,14 +30,33 @@ class LogEntriesHandler extends SocketHandler
|
|||||||
*
|
*
|
||||||
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
||||||
*/
|
*/
|
||||||
public function __construct(string $token, bool $useSSL = true, $level = Logger::DEBUG, bool $bubble = true, string $host = 'data.logentries.com')
|
public function __construct(
|
||||||
{
|
string $token,
|
||||||
|
bool $useSSL = true,
|
||||||
|
$level = Logger::DEBUG,
|
||||||
|
bool $bubble = true,
|
||||||
|
string $host = 'data.logentries.com',
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
|
) {
|
||||||
if ($useSSL && !extension_loaded('openssl')) {
|
if ($useSSL && !extension_loaded('openssl')) {
|
||||||
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler');
|
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler');
|
||||||
}
|
}
|
||||||
|
|
||||||
$endpoint = $useSSL ? 'ssl://' . $host . ':443' : $host . ':80';
|
$endpoint = $useSSL ? 'ssl://' . $host . ':443' : $host . ':80';
|
||||||
parent::__construct($endpoint, $level, $bubble);
|
parent::__construct(
|
||||||
|
$endpoint,
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
$this->logToken = $token;
|
$this->logToken = $token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,8 +43,19 @@ class LogmaticHandler extends SocketHandler
|
|||||||
*
|
*
|
||||||
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
||||||
*/
|
*/
|
||||||
public function __construct(string $token, string $hostname = '', string $appname = '', bool $useSSL = true, $level = Logger::DEBUG, bool $bubble = true)
|
public function __construct(
|
||||||
{
|
string $token,
|
||||||
|
string $hostname = '',
|
||||||
|
string $appname = '',
|
||||||
|
bool $useSSL = true,
|
||||||
|
$level = Logger::DEBUG,
|
||||||
|
bool $bubble = true,
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
|
) {
|
||||||
if ($useSSL && !extension_loaded('openssl')) {
|
if ($useSSL && !extension_loaded('openssl')) {
|
||||||
throw new MissingExtensionException('The OpenSSL PHP extension is required to use SSL encrypted connection for LogmaticHandler');
|
throw new MissingExtensionException('The OpenSSL PHP extension is required to use SSL encrypted connection for LogmaticHandler');
|
||||||
}
|
}
|
||||||
@@ -52,7 +63,16 @@ class LogmaticHandler extends SocketHandler
|
|||||||
$endpoint = $useSSL ? 'ssl://api.logmatic.io:10515' : 'api.logmatic.io:10514';
|
$endpoint = $useSSL ? 'ssl://api.logmatic.io:10515' : 'api.logmatic.io:10514';
|
||||||
$endpoint .= '/v1/';
|
$endpoint .= '/v1/';
|
||||||
|
|
||||||
parent::__construct($endpoint, $level, $bubble);
|
parent::__construct(
|
||||||
|
$endpoint,
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
|
|
||||||
$this->logToken = $token;
|
$this->logToken = $token;
|
||||||
$this->hostname = $hostname;
|
$this->hostname = $hostname;
|
||||||
|
|||||||
@@ -108,10 +108,24 @@ class PushoverHandler extends SocketHandler
|
|||||||
$highPriorityLevel = Logger::CRITICAL,
|
$highPriorityLevel = Logger::CRITICAL,
|
||||||
$emergencyLevel = Logger::EMERGENCY,
|
$emergencyLevel = Logger::EMERGENCY,
|
||||||
int $retry = 30,
|
int $retry = 30,
|
||||||
int $expire = 25200
|
int $expire = 25200,
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
) {
|
) {
|
||||||
$connectionString = $useSSL ? 'ssl://api.pushover.net:443' : 'api.pushover.net:80';
|
$connectionString = $useSSL ? 'ssl://api.pushover.net:443' : 'api.pushover.net:80';
|
||||||
parent::__construct($connectionString, $level, $bubble);
|
parent::__construct(
|
||||||
|
$connectionString,
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
|
|
||||||
$this->token = $token;
|
$this->token = $token;
|
||||||
$this->users = (array) $users;
|
$this->users = (array) $users;
|
||||||
|
|||||||
@@ -191,7 +191,11 @@ class RotatingFileHandler extends StreamHandler
|
|||||||
$fileInfo = pathinfo($this->filename);
|
$fileInfo = pathinfo($this->filename);
|
||||||
$glob = str_replace(
|
$glob = str_replace(
|
||||||
['{filename}', '{date}'],
|
['{filename}', '{date}'],
|
||||||
[$fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'],
|
[$fileInfo['filename'], str_replace(
|
||||||
|
['Y', 'y', 'm', 'd'],
|
||||||
|
['[0-9][0-9][0-9][0-9]', '[0-9][0-9]', '[0-9][0-9]', '[0-9][0-9]'],
|
||||||
|
$this->dateFormat)
|
||||||
|
],
|
||||||
$fileInfo['dirname'] . '/' . $this->filenameFormat
|
$fileInfo['dirname'] . '/' . $this->filenameFormat
|
||||||
);
|
);
|
||||||
if (isset($fileInfo['extension'])) {
|
if (isset($fileInfo['extension'])) {
|
||||||
|
|||||||
14
vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php
vendored
Executable file → Normal file
14
vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php
vendored
Executable file → Normal file
@@ -146,12 +146,14 @@ class SlackRecord
|
|||||||
|
|
||||||
if ($this->useAttachment) {
|
if ($this->useAttachment) {
|
||||||
$attachment = array(
|
$attachment = array(
|
||||||
'fallback' => $message,
|
'fallback' => $message,
|
||||||
'text' => $message,
|
'text' => $message,
|
||||||
'color' => $this->getAttachmentColor($record['level']),
|
'color' => $this->getAttachmentColor($record['level']),
|
||||||
'fields' => array(),
|
'fields' => array(),
|
||||||
'mrkdwn_in' => array('fields'),
|
'mrkdwn_in' => array('fields'),
|
||||||
'ts' => $record['datetime']->getTimestamp(),
|
'ts' => $record['datetime']->getTimestamp(),
|
||||||
|
'footer' => $this->username,
|
||||||
|
'footer_icon' => $this->userIcon,
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($this->useShortAttachment) {
|
if ($this->useShortAttachment) {
|
||||||
|
|||||||
@@ -59,13 +59,27 @@ class SlackHandler extends SocketHandler
|
|||||||
bool $bubble = true,
|
bool $bubble = true,
|
||||||
bool $useShortAttachment = false,
|
bool $useShortAttachment = false,
|
||||||
bool $includeContextAndExtra = false,
|
bool $includeContextAndExtra = false,
|
||||||
array $excludeFields = array()
|
array $excludeFields = array(),
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
) {
|
) {
|
||||||
if (!extension_loaded('openssl')) {
|
if (!extension_loaded('openssl')) {
|
||||||
throw new MissingExtensionException('The OpenSSL PHP extension is required to use the SlackHandler');
|
throw new MissingExtensionException('The OpenSSL PHP extension is required to use the SlackHandler');
|
||||||
}
|
}
|
||||||
|
|
||||||
parent::__construct('ssl://slack.com:443', $level, $bubble);
|
parent::__construct(
|
||||||
|
'ssl://slack.com:443',
|
||||||
|
$level,
|
||||||
|
$bubble,
|
||||||
|
$persistent,
|
||||||
|
$timeout,
|
||||||
|
$writingTimeout,
|
||||||
|
$connectionTimeout,
|
||||||
|
$chunkSize
|
||||||
|
);
|
||||||
|
|
||||||
$this->slackRecord = new SlackRecord(
|
$this->slackRecord = new SlackRecord(
|
||||||
$channel,
|
$channel,
|
||||||
|
|||||||
@@ -31,15 +31,15 @@ class SocketHandler extends AbstractProcessingHandler
|
|||||||
/** @var resource|null */
|
/** @var resource|null */
|
||||||
private $resource;
|
private $resource;
|
||||||
/** @var float */
|
/** @var float */
|
||||||
private $timeout = 0.0;
|
private $timeout;
|
||||||
/** @var float */
|
/** @var float */
|
||||||
private $writingTimeout = 10.0;
|
private $writingTimeout;
|
||||||
/** @var ?int */
|
/** @var ?int */
|
||||||
private $lastSentBytes = null;
|
private $lastSentBytes = null;
|
||||||
/** @var ?int */
|
/** @var ?int */
|
||||||
private $chunkSize = null;
|
private $chunkSize;
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
private $persistent = false;
|
private $persistent;
|
||||||
/** @var ?int */
|
/** @var ?int */
|
||||||
private $errno = null;
|
private $errno = null;
|
||||||
/** @var ?string */
|
/** @var ?string */
|
||||||
@@ -48,13 +48,40 @@ class SocketHandler extends AbstractProcessingHandler
|
|||||||
private $lastWritingAt = null;
|
private $lastWritingAt = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $connectionString Socket connection string
|
* @param string $connectionString Socket connection string
|
||||||
|
* @param bool $persistent Flag to enable/disable persistent connections
|
||||||
|
* @param float $timeout Socket timeout to wait until the request is being aborted
|
||||||
|
* @param float $writingTimeout Socket timeout to wait until the request should've been sent/written
|
||||||
|
* @param float|null $connectionTimeout Socket connect timeout to wait until the connection should've been
|
||||||
|
* established
|
||||||
|
* @param int|null $chunkSize Sets the chunk size. Only has effect during connection in the writing cycle
|
||||||
|
*
|
||||||
|
* @throws \InvalidArgumentException If an invalid timeout value (less than 0) is passed.
|
||||||
*/
|
*/
|
||||||
public function __construct(string $connectionString, $level = Logger::DEBUG, bool $bubble = true)
|
public function __construct(
|
||||||
{
|
string $connectionString,
|
||||||
|
$level = Logger::DEBUG,
|
||||||
|
bool $bubble = true,
|
||||||
|
bool $persistent = false,
|
||||||
|
float $timeout = 0.0,
|
||||||
|
float $writingTimeout = 10.0,
|
||||||
|
?float $connectionTimeout = null,
|
||||||
|
?int $chunkSize = null
|
||||||
|
) {
|
||||||
parent::__construct($level, $bubble);
|
parent::__construct($level, $bubble);
|
||||||
$this->connectionString = $connectionString;
|
$this->connectionString = $connectionString;
|
||||||
$this->connectionTimeout = (float) ini_get('default_socket_timeout');
|
|
||||||
|
if ($connectionTimeout !== null) {
|
||||||
|
$this->validateTimeout($connectionTimeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->connectionTimeout = $connectionTimeout ?? (float) ini_get('default_socket_timeout');
|
||||||
|
$this->persistent = $persistent;
|
||||||
|
$this->validateTimeout($timeout);
|
||||||
|
$this->timeout = $timeout;
|
||||||
|
$this->validateTimeout($writingTimeout);
|
||||||
|
$this->writingTimeout = $writingTimeout;
|
||||||
|
$this->chunkSize = $chunkSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ class SqsHandler extends AbstractProcessingHandler
|
|||||||
protected function write(array $record): void
|
protected function write(array $record): void
|
||||||
{
|
{
|
||||||
if (!isset($record['formatted']) || 'string' !== gettype($record['formatted'])) {
|
if (!isset($record['formatted']) || 'string' !== gettype($record['formatted'])) {
|
||||||
throw new \InvalidArgumentException('SqsHandler accepts only formatted records as a string');
|
throw new \InvalidArgumentException('SqsHandler accepts only formatted records as a string' . Utils::getRecordMessageForException($record));
|
||||||
}
|
}
|
||||||
|
|
||||||
$messageBody = $record['formatted'];
|
$messageBody = $record['formatted'];
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ class StreamHandler extends AbstractProcessingHandler
|
|||||||
if (!is_resource($this->stream)) {
|
if (!is_resource($this->stream)) {
|
||||||
$url = $this->url;
|
$url = $this->url;
|
||||||
if (null === $url || '' === $url) {
|
if (null === $url || '' === $url) {
|
||||||
throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
|
throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().' . Utils::getRecordMessageForException($record));
|
||||||
}
|
}
|
||||||
$this->createDir($url);
|
$this->createDir($url);
|
||||||
$this->errorMessage = null;
|
$this->errorMessage = null;
|
||||||
@@ -143,7 +143,7 @@ class StreamHandler extends AbstractProcessingHandler
|
|||||||
if (!is_resource($stream)) {
|
if (!is_resource($stream)) {
|
||||||
$this->stream = null;
|
$this->stream = null;
|
||||||
|
|
||||||
throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $url));
|
throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $url) . Utils::getRecordMessageForException($record));
|
||||||
}
|
}
|
||||||
stream_set_chunk_size($stream, $this->streamChunkSize);
|
stream_set_chunk_size($stream, $this->streamChunkSize);
|
||||||
$this->stream = $stream;
|
$this->stream = $stream;
|
||||||
@@ -151,7 +151,7 @@ class StreamHandler extends AbstractProcessingHandler
|
|||||||
|
|
||||||
$stream = $this->stream;
|
$stream = $this->stream;
|
||||||
if (!is_resource($stream)) {
|
if (!is_resource($stream)) {
|
||||||
throw new \LogicException('No stream was opened yet');
|
throw new \LogicException('No stream was opened yet' . Utils::getRecordMessageForException($record));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->useLocking) {
|
if ($this->useLocking) {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
namespace Monolog\Handler;
|
namespace Monolog\Handler;
|
||||||
|
|
||||||
use Monolog\Logger;
|
use Monolog\Logger;
|
||||||
|
use Monolog\Utils;
|
||||||
use Monolog\Formatter\FormatterInterface;
|
use Monolog\Formatter\FormatterInterface;
|
||||||
use Monolog\Formatter\LineFormatter;
|
use Monolog\Formatter\LineFormatter;
|
||||||
use Swift_Message;
|
use Swift_Message;
|
||||||
@@ -23,6 +24,7 @@ use Swift;
|
|||||||
* @author Gyula Sallai
|
* @author Gyula Sallai
|
||||||
*
|
*
|
||||||
* @phpstan-import-type Record from \Monolog\Logger
|
* @phpstan-import-type Record from \Monolog\Logger
|
||||||
|
* @deprecated Since Monolog 2.6. Use SymfonyMailerHandler instead.
|
||||||
*/
|
*/
|
||||||
class SwiftMailerHandler extends MailHandler
|
class SwiftMailerHandler extends MailHandler
|
||||||
{
|
{
|
||||||
@@ -41,6 +43,8 @@ class SwiftMailerHandler extends MailHandler
|
|||||||
{
|
{
|
||||||
parent::__construct($level, $bubble);
|
parent::__construct($level, $bubble);
|
||||||
|
|
||||||
|
@trigger_error('The SwiftMailerHandler is deprecated since Monolog 2.6. Use SymfonyMailerHandler instead.', E_USER_DEPRECATED);
|
||||||
|
|
||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
$this->messageTemplate = $message;
|
$this->messageTemplate = $message;
|
||||||
}
|
}
|
||||||
@@ -83,7 +87,8 @@ class SwiftMailerHandler extends MailHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$message instanceof Swift_Message) {
|
if (!$message instanceof Swift_Message) {
|
||||||
throw new \InvalidArgumentException('Could not resolve message as instance of Swift_Message or a callable returning it');
|
$record = reset($records);
|
||||||
|
throw new \InvalidArgumentException('Could not resolve message as instance of Swift_Message or a callable returning it' . ($record ? Utils::getRecordMessageForException($record) : ''));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($records) {
|
if ($records) {
|
||||||
|
|||||||
111
vendor/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php
vendored
Normal file
111
vendor/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php
vendored
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Monolog package.
|
||||||
|
*
|
||||||
|
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Monolog\Handler;
|
||||||
|
|
||||||
|
use Monolog\Logger;
|
||||||
|
use Monolog\Utils;
|
||||||
|
use Monolog\Formatter\FormatterInterface;
|
||||||
|
use Monolog\Formatter\LineFormatter;
|
||||||
|
use Symfony\Component\Mailer\MailerInterface;
|
||||||
|
use Symfony\Component\Mailer\Transport\TransportInterface;
|
||||||
|
use Symfony\Component\Mime\Email;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SymfonyMailerHandler uses Symfony's Mailer component to send the emails
|
||||||
|
*
|
||||||
|
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||||
|
*
|
||||||
|
* @phpstan-import-type Record from \Monolog\Logger
|
||||||
|
*/
|
||||||
|
class SymfonyMailerHandler extends MailHandler
|
||||||
|
{
|
||||||
|
/** @var MailerInterface|TransportInterface */
|
||||||
|
protected $mailer;
|
||||||
|
/** @var Email|callable(string, Record[]): Email */
|
||||||
|
private $emailTemplate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @psalm-param Email|callable(string, Record[]): Email $email
|
||||||
|
*
|
||||||
|
* @param MailerInterface|TransportInterface $mailer The mailer to use
|
||||||
|
* @param callable|Email $email An email template, the subject/body will be replaced
|
||||||
|
*/
|
||||||
|
public function __construct($mailer, $email, $level = Logger::ERROR, bool $bubble = true)
|
||||||
|
{
|
||||||
|
parent::__construct($level, $bubble);
|
||||||
|
|
||||||
|
$this->mailer = $mailer;
|
||||||
|
$this->emailTemplate = $email;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
protected function send(string $content, array $records): void
|
||||||
|
{
|
||||||
|
$this->mailer->send($this->buildMessage($content, $records));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the formatter for the Swift_Message subject.
|
||||||
|
*
|
||||||
|
* @param string|null $format The format of the subject
|
||||||
|
*/
|
||||||
|
protected function getSubjectFormatter(?string $format): FormatterInterface
|
||||||
|
{
|
||||||
|
return new LineFormatter($format);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates instance of Email to be sent
|
||||||
|
*
|
||||||
|
* @param string $content formatted email body to be sent
|
||||||
|
* @param array $records Log records that formed the content
|
||||||
|
*
|
||||||
|
* @phpstan-param Record[] $records
|
||||||
|
*/
|
||||||
|
protected function buildMessage(string $content, array $records): Email
|
||||||
|
{
|
||||||
|
$message = null;
|
||||||
|
if ($this->emailTemplate instanceof Email) {
|
||||||
|
$message = clone $this->emailTemplate;
|
||||||
|
} elseif (is_callable($this->emailTemplate)) {
|
||||||
|
$message = ($this->emailTemplate)($content, $records);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$message instanceof Email) {
|
||||||
|
$record = reset($records);
|
||||||
|
throw new \InvalidArgumentException('Could not resolve message as instance of Email or a callable returning it' . ($record ? Utils::getRecordMessageForException($record) : ''));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($records) {
|
||||||
|
$subjectFormatter = $this->getSubjectFormatter($message->getSubject());
|
||||||
|
$message->subject($subjectFormatter->format($this->getHighestRecord($records)));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->isHtmlBody($content)) {
|
||||||
|
if (null !== ($charset = $message->getHtmlCharset())) {
|
||||||
|
$message->html($content, $charset);
|
||||||
|
} else {
|
||||||
|
$message->html($content);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (null !== ($charset = $message->getTextCharset())) {
|
||||||
|
$message->text($content, $charset);
|
||||||
|
} else {
|
||||||
|
$message->text($content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $message->date(new \DateTimeImmutable());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
namespace Monolog\Handler;
|
namespace Monolog\Handler;
|
||||||
|
|
||||||
use Monolog\Logger;
|
use Monolog\Logger;
|
||||||
|
use Monolog\Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs to syslog service.
|
* Logs to syslog service.
|
||||||
@@ -60,7 +61,7 @@ class SyslogHandler extends AbstractSyslogHandler
|
|||||||
protected function write(array $record): void
|
protected function write(array $record): void
|
||||||
{
|
{
|
||||||
if (!openlog($this->ident, $this->logopts, $this->facility)) {
|
if (!openlog($this->ident, $this->logopts, $this->facility)) {
|
||||||
throw new \LogicException('Can\'t open syslog for ident "'.$this->ident.'" and facility "'.$this->facility.'"');
|
throw new \LogicException('Can\'t open syslog for ident "'.$this->ident.'" and facility "'.$this->facility.'"' . Utils::getRecordMessageForException($record));
|
||||||
}
|
}
|
||||||
syslog($this->logLevels[$record['level']], (string) $record['formatted']);
|
syslog($this->logLevels[$record['level']], (string) $record['formatted']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,20 +23,12 @@ class UdpSocket
|
|||||||
/** @var int */
|
/** @var int */
|
||||||
protected $port;
|
protected $port;
|
||||||
/** @var resource|Socket|null */
|
/** @var resource|Socket|null */
|
||||||
protected $socket;
|
protected $socket = null;
|
||||||
|
|
||||||
public function __construct(string $ip, int $port = 514)
|
public function __construct(string $ip, int $port = 514)
|
||||||
{
|
{
|
||||||
$this->ip = $ip;
|
$this->ip = $ip;
|
||||||
$this->port = $port;
|
$this->port = $port;
|
||||||
$domain = AF_INET;
|
|
||||||
$protocol = SOL_UDP;
|
|
||||||
// Check if we are using unix sockets.
|
|
||||||
if ($port === 0) {
|
|
||||||
$domain = AF_UNIX;
|
|
||||||
$protocol = IPPROTO_IP;
|
|
||||||
}
|
|
||||||
$this->socket = socket_create($domain, SOCK_DGRAM, $protocol) ?: null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,12 +49,34 @@ class UdpSocket
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return resource|Socket
|
||||||
|
*/
|
||||||
|
protected function getSocket()
|
||||||
|
{
|
||||||
|
if (null !== $this->socket) {
|
||||||
|
return $this->socket;
|
||||||
|
}
|
||||||
|
|
||||||
|
$domain = AF_INET;
|
||||||
|
$protocol = SOL_UDP;
|
||||||
|
// Check if we are using unix sockets.
|
||||||
|
if ($this->port === 0) {
|
||||||
|
$domain = AF_UNIX;
|
||||||
|
$protocol = IPPROTO_IP;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->socket = socket_create($domain, SOCK_DGRAM, $protocol) ?: null;
|
||||||
|
if (null === $this->socket) {
|
||||||
|
throw new \RuntimeException('The UdpSocket to '.$this->ip.':'.$this->port.' could not be opened via socket_create');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->socket;
|
||||||
|
}
|
||||||
|
|
||||||
protected function send(string $chunk): void
|
protected function send(string $chunk): void
|
||||||
{
|
{
|
||||||
if (!is_resource($this->socket) && !$this->socket instanceof Socket) {
|
socket_sendto($this->getSocket(), $chunk, strlen($chunk), $flags = 0, $this->ip, $this->port);
|
||||||
throw new \RuntimeException('The UdpSocket to '.$this->ip.':'.$this->port.' has been closed and can not be written to anymore');
|
|
||||||
}
|
|
||||||
socket_sendto($this->socket, $chunk, strlen($chunk), $flags = 0, $this->ip, $this->port);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function assembleMessage(string $line, string $header): string
|
protected function assembleMessage(string $line, string $header): string
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ namespace Monolog\Handler;
|
|||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Monolog\Logger;
|
use Monolog\Logger;
|
||||||
|
use Monolog\Utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler send logs to Telegram using Telegram Bot API.
|
* Handler send logs to Telegram using Telegram Bot API.
|
||||||
@@ -43,6 +44,11 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
'Markdown', // legacy mode without underline and strikethrough, use MarkdownV2 instead
|
'Markdown', // legacy mode without underline and strikethrough, use MarkdownV2 instead
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum number of characters allowed in a message according to the Telegram api documentation
|
||||||
|
*/
|
||||||
|
private const MAX_MESSAGE_LENGTH = 4096;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Telegram bot access token provided by BotFather.
|
* Telegram bot access token provided by BotFather.
|
||||||
* Create telegram bot with https://telegram.me/BotFather and use access token from it.
|
* Create telegram bot with https://telegram.me/BotFather and use access token from it.
|
||||||
@@ -78,18 +84,37 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
private $disableNotification;
|
private $disableNotification;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $apiKey Telegram bot access token provided by BotFather
|
* True - split a message longer than MAX_MESSAGE_LENGTH into parts and send in multiple messages.
|
||||||
|
* False - truncates a message that is too long.
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $splitLongMessages;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds 1-second delay between sending a split message (according to Telegram API to avoid 429 Too Many Requests).
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $delayBetweenMessages;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $apiKey Telegram bot access token provided by BotFather
|
||||||
* @param string $channel Telegram channel name
|
* @param string $channel Telegram channel name
|
||||||
|
* @param bool $splitLongMessages Split a message longer than MAX_MESSAGE_LENGTH into parts and send in multiple messages
|
||||||
|
* @param bool $delayBetweenMessages Adds delay between sending a split message according to Telegram API
|
||||||
|
* @throws MissingExtensionException
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $apiKey,
|
string $apiKey,
|
||||||
string $channel,
|
string $channel,
|
||||||
$level = Logger::DEBUG,
|
$level = Logger::DEBUG,
|
||||||
bool $bubble = true,
|
bool $bubble = true,
|
||||||
string $parseMode = null,
|
string $parseMode = null,
|
||||||
bool $disableWebPagePreview = null,
|
bool $disableWebPagePreview = null,
|
||||||
bool $disableNotification = null
|
bool $disableNotification = null,
|
||||||
) {
|
bool $splitLongMessages = false,
|
||||||
|
bool $delayBetweenMessages = false
|
||||||
|
)
|
||||||
|
{
|
||||||
if (!extension_loaded('curl')) {
|
if (!extension_loaded('curl')) {
|
||||||
throw new MissingExtensionException('The curl extension is needed to use the TelegramBotHandler');
|
throw new MissingExtensionException('The curl extension is needed to use the TelegramBotHandler');
|
||||||
}
|
}
|
||||||
@@ -101,6 +126,8 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
$this->setParseMode($parseMode);
|
$this->setParseMode($parseMode);
|
||||||
$this->disableWebPagePreview($disableWebPagePreview);
|
$this->disableWebPagePreview($disableWebPagePreview);
|
||||||
$this->disableNotification($disableNotification);
|
$this->disableNotification($disableNotification);
|
||||||
|
$this->splitLongMessages($splitLongMessages);
|
||||||
|
$this->delayBetweenMessages($delayBetweenMessages);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setParseMode(string $parseMode = null): self
|
public function setParseMode(string $parseMode = null): self
|
||||||
@@ -128,6 +155,31 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* True - split a message longer than MAX_MESSAGE_LENGTH into parts and send in multiple messages.
|
||||||
|
* False - truncates a message that is too long.
|
||||||
|
* @param bool $splitLongMessages
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function splitLongMessages(bool $splitLongMessages = false): self
|
||||||
|
{
|
||||||
|
$this->splitLongMessages = $splitLongMessages;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds 1-second delay between sending a split message (according to Telegram API to avoid 429 Too Many Requests).
|
||||||
|
* @param bool $delayBetweenMessages
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function delayBetweenMessages(bool $delayBetweenMessages = false): self
|
||||||
|
{
|
||||||
|
$this->delayBetweenMessages = $delayBetweenMessages;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@@ -150,7 +202,7 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($messages)) {
|
if (!empty($messages)) {
|
||||||
$this->send((string) $this->getFormatter()->formatBatch($messages));
|
$this->send((string)$this->getFormatter()->formatBatch($messages));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,6 +219,19 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
* @param string $message
|
* @param string $message
|
||||||
*/
|
*/
|
||||||
protected function send(string $message): void
|
protected function send(string $message): void
|
||||||
|
{
|
||||||
|
$messages = $this->handleMessageLength($message);
|
||||||
|
|
||||||
|
foreach ($messages as $key => $msg) {
|
||||||
|
if ($this->delayBetweenMessages && $key > 0) {
|
||||||
|
sleep(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->sendCurl($msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function sendCurl(string $message): void
|
||||||
{
|
{
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
$url = self::BOT_API . $this->apiKey . '/SendMessage';
|
$url = self::BOT_API . $this->apiKey . '/SendMessage';
|
||||||
@@ -191,4 +256,19 @@ class TelegramBotHandler extends AbstractProcessingHandler
|
|||||||
throw new RuntimeException('Telegram API error. Description: ' . $result['description']);
|
throw new RuntimeException('Telegram API error. Description: ' . $result['description']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle a message that is too long: truncates or splits into several
|
||||||
|
* @param string $message
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
private function handleMessageLength(string $message): array
|
||||||
|
{
|
||||||
|
$truncatedMarker = ' (...truncated)';
|
||||||
|
if (!$this->splitLongMessages && strlen($message) > self::MAX_MESSAGE_LENGTH) {
|
||||||
|
return [Utils::substr($message, 0, self::MAX_MESSAGE_LENGTH - strlen($truncatedMarker)) . $truncatedMarker];
|
||||||
|
}
|
||||||
|
|
||||||
|
return str_split($message, self::MAX_MESSAGE_LENGTH);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
34
vendor/monolog/monolog/src/Monolog/LogRecord.php
vendored
Normal file
34
vendor/monolog/monolog/src/Monolog/LogRecord.php
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Monolog package.
|
||||||
|
*
|
||||||
|
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Monolog;
|
||||||
|
|
||||||
|
use ArrayAccess;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Monolog log record interface for forward compatibility with Monolog 3.0
|
||||||
|
*
|
||||||
|
* This is just present in Monolog 2.4+ to allow interoperable code to be written against
|
||||||
|
* both versions by type-hinting arguments as `array|\Monolog\LogRecord $record`
|
||||||
|
*
|
||||||
|
* Do not rely on this interface for other purposes, and do not implement it.
|
||||||
|
*
|
||||||
|
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||||
|
* @template-extends \ArrayAccess<'message'|'level'|'context'|'level_name'|'channel'|'datetime'|'extra'|'formatted', mixed>
|
||||||
|
* @phpstan-import-type Record from Logger
|
||||||
|
*/
|
||||||
|
interface LogRecord extends \ArrayAccess
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @phpstan-return Record
|
||||||
|
*/
|
||||||
|
public function toArray(): array;
|
||||||
|
}
|
||||||
111
vendor/monolog/monolog/src/Monolog/Logger.php
vendored
111
vendor/monolog/monolog/src/Monolog/Logger.php
vendored
@@ -147,6 +147,18 @@ class Logger implements LoggerInterface, ResettableInterface
|
|||||||
*/
|
*/
|
||||||
protected $exceptionHandler;
|
protected $exceptionHandler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Keeps track of depth to prevent infinite logging loops
|
||||||
|
*/
|
||||||
|
private $logDepth = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool Whether to detect infinite logging loops
|
||||||
|
*
|
||||||
|
* This can be disabled via {@see useLoggingLoopDetection} if you have async handlers that do not play well with this
|
||||||
|
*/
|
||||||
|
private $detectCycles = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @psalm-param array<callable(array): array> $processors
|
* @psalm-param array<callable(array): array> $processors
|
||||||
*
|
*
|
||||||
@@ -272,48 +284,80 @@ class Logger implements LoggerInterface, ResettableInterface
|
|||||||
*
|
*
|
||||||
* @param bool $micro True to use microtime() to create timestamps
|
* @param bool $micro True to use microtime() to create timestamps
|
||||||
*/
|
*/
|
||||||
public function useMicrosecondTimestamps(bool $micro): void
|
public function useMicrosecondTimestamps(bool $micro): self
|
||||||
{
|
{
|
||||||
$this->microsecondTimestamps = $micro;
|
$this->microsecondTimestamps = $micro;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function useLoggingLoopDetection(bool $detectCycles): self
|
||||||
|
{
|
||||||
|
$this->detectCycles = $detectCycles;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a log record.
|
* Adds a log record.
|
||||||
*
|
*
|
||||||
* @param int $level The logging level
|
* @param int $level The logging level
|
||||||
* @param string $message The log message
|
* @param string $message The log message
|
||||||
* @param mixed[] $context The log context
|
* @param mixed[] $context The log context
|
||||||
* @return bool Whether the record has been processed
|
* @param DateTimeImmutable $datetime Optional log date to log into the past or future
|
||||||
|
* @return bool Whether the record has been processed
|
||||||
*
|
*
|
||||||
* @phpstan-param Level $level
|
* @phpstan-param Level $level
|
||||||
*/
|
*/
|
||||||
public function addRecord(int $level, string $message, array $context = []): bool
|
public function addRecord(int $level, string $message, array $context = [], DateTimeImmutable $datetime = null): bool
|
||||||
{
|
{
|
||||||
$offset = 0;
|
if ($this->detectCycles) {
|
||||||
$record = null;
|
$this->logDepth += 1;
|
||||||
|
}
|
||||||
|
if ($this->logDepth === 3) {
|
||||||
|
$this->warning('A possible infinite logging loop was detected and aborted. It appears some of your handler code is triggering logging, see the previous log record for a hint as to what may be the cause.');
|
||||||
|
return false;
|
||||||
|
} elseif ($this->logDepth >= 5) { // log depth 4 is let through so we can log the warning above
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($this->handlers as $handler) {
|
try {
|
||||||
if (null === $record) {
|
$record = null;
|
||||||
// skip creating the record as long as no handler is going to handle it
|
|
||||||
if (!$handler->isHandling(['level' => $level])) {
|
foreach ($this->handlers as $handler) {
|
||||||
continue;
|
if (null === $record) {
|
||||||
|
// skip creating the record as long as no handler is going to handle it
|
||||||
|
if (!$handler->isHandling(['level' => $level])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$levelName = static::getLevelName($level);
|
||||||
|
|
||||||
|
$record = [
|
||||||
|
'message' => $message,
|
||||||
|
'context' => $context,
|
||||||
|
'level' => $level,
|
||||||
|
'level_name' => $levelName,
|
||||||
|
'channel' => $this->name,
|
||||||
|
'datetime' => $datetime ?? new DateTimeImmutable($this->microsecondTimestamps, $this->timezone),
|
||||||
|
'extra' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
try {
|
||||||
|
foreach ($this->processors as $processor) {
|
||||||
|
$record = $processor($record);
|
||||||
|
}
|
||||||
|
} catch (Throwable $e) {
|
||||||
|
$this->handleException($e, $record);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$levelName = static::getLevelName($level);
|
// once the record exists, send it to all handlers as long as the bubbling chain is not interrupted
|
||||||
|
|
||||||
$record = [
|
|
||||||
'message' => $message,
|
|
||||||
'context' => $context,
|
|
||||||
'level' => $level,
|
|
||||||
'level_name' => $levelName,
|
|
||||||
'channel' => $this->name,
|
|
||||||
'datetime' => new DateTimeImmutable($this->microsecondTimestamps, $this->timezone),
|
|
||||||
'extra' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
foreach ($this->processors as $processor) {
|
if (true === $handler->handle($record)) {
|
||||||
$record = $processor($record);
|
break;
|
||||||
}
|
}
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
$this->handleException($e, $record);
|
$this->handleException($e, $record);
|
||||||
@@ -321,16 +365,9 @@ class Logger implements LoggerInterface, ResettableInterface
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
// once the record exists, send it to all handlers as long as the bubbling chain is not interrupted
|
if ($this->detectCycles) {
|
||||||
try {
|
$this->logDepth--;
|
||||||
if (true === $handler->handle($record)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} catch (Throwable $e) {
|
|
||||||
$this->handleException($e, $record);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ class IntrospectionProcessor implements ProcessorInterface
|
|||||||
'file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null,
|
'file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null,
|
||||||
'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null,
|
'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null,
|
||||||
'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null,
|
'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null,
|
||||||
|
'callType' => isset($trace[$i]['type']) ? $trace[$i]['type'] : null,
|
||||||
'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null,
|
'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -36,11 +36,12 @@ class WebProcessor implements ProcessorInterface
|
|||||||
'http_method' => 'REQUEST_METHOD',
|
'http_method' => 'REQUEST_METHOD',
|
||||||
'server' => 'SERVER_NAME',
|
'server' => 'SERVER_NAME',
|
||||||
'referrer' => 'HTTP_REFERER',
|
'referrer' => 'HTTP_REFERER',
|
||||||
|
'user_agent' => 'HTTP_USER_AGENT',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<string, mixed>|\ArrayAccess<string, mixed>|null $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data
|
* @param array<string, mixed>|\ArrayAccess<string, mixed>|null $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data
|
||||||
* @param array<string, string>|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer
|
* @param array<string, string>|array<string>|null $extraFields Field names and the related key inside $serverData to be added (or just a list of field names to use the default configured $serverData mapping). If not provided it defaults to: [url, ip, http_method, server, referrer] + unique_id if present in server data
|
||||||
*/
|
*/
|
||||||
public function __construct($serverData = null, array $extraFields = null)
|
public function __construct($serverData = null, array $extraFields = null)
|
||||||
{
|
{
|
||||||
@@ -52,20 +53,23 @@ class WebProcessor implements ProcessorInterface
|
|||||||
throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.');
|
throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$defaultEnabled = ['url', 'ip', 'http_method', 'server', 'referrer'];
|
||||||
if (isset($this->serverData['UNIQUE_ID'])) {
|
if (isset($this->serverData['UNIQUE_ID'])) {
|
||||||
$this->extraFields['unique_id'] = 'UNIQUE_ID';
|
$this->extraFields['unique_id'] = 'UNIQUE_ID';
|
||||||
|
$defaultEnabled[] = 'unique_id';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null !== $extraFields) {
|
if (null === $extraFields) {
|
||||||
if (isset($extraFields[0])) {
|
$extraFields = $defaultEnabled;
|
||||||
foreach (array_keys($this->extraFields) as $fieldName) {
|
}
|
||||||
if (!in_array($fieldName, $extraFields)) {
|
if (isset($extraFields[0])) {
|
||||||
unset($this->extraFields[$fieldName]);
|
foreach (array_keys($this->extraFields) as $fieldName) {
|
||||||
}
|
if (!in_array($fieldName, $extraFields)) {
|
||||||
|
unset($this->extraFields[$fieldName]);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$this->extraFields = $extraFields;
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$this->extraFields = $extraFields;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user