Merge branch 'development' into release

This commit is contained in:
Dan Brown 2024-11-29 13:47:08 +00:00
commit fb9c840c46
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
16 changed files with 235 additions and 208 deletions

View File

@ -453,3 +453,5 @@ Mohammed srhiri (m.sghiri20) :: Arabic
YongMin Kim (kym0118) :: Korean
Rivo Zängov (Eraser) :: Estonian
Francisco Rafael Fonseca (chicoraf) :: Portuguese, Brazilian
ИEØ_ΙΙØZ (NEO_IIOZ) :: Chinese Traditional
madnjpn (madnjpn.) :: Georgian

View File

@ -11,7 +11,9 @@ class OidcUserinfoResponse implements ProvidesClaims
public function __construct(ResponseInterface $response, string $issuer, array $keys)
{
$contentType = $response->getHeader('Content-Type')[0];
$contentTypeHeaderValue = $response->getHeader('Content-Type')[0] ?? '';
$contentType = strtolower(trim(explode(';', $contentTypeHeaderValue, 2)[0]));
if ($contentType === 'application/json') {
$this->claims = json_decode($response->getBody()->getContents(), true);
}

View File

@ -104,10 +104,10 @@ class PageIncludeParser
if ($currentOffset < $tagStartOffset) {
$previousText = substr($text, $currentOffset, $tagStartOffset - $currentOffset);
$textNode->parentNode->insertBefore(new DOMText($previousText), $textNode);
$textNode->parentNode->insertBefore($this->doc->createTextNode($previousText), $textNode);
}
$node = $textNode->parentNode->insertBefore(new DOMText($tagOuterContent), $textNode);
$node = $textNode->parentNode->insertBefore($this->doc->createTextNode($tagOuterContent), $textNode);
$includeTags[] = new PageIncludeTag($tagInnerContent, $node);
$currentOffset = $tagStartOffset + strlen($tagOuterContent);
}

View File

@ -92,7 +92,7 @@ class RangeSupportedStream
if ($start < 0 || $start > $end) {
$this->responseStatus = 416;
$this->responseHeaders['Content-Range'] = sprintf('bytes */%s', $this->fileSize);
} elseif ($end - $start < $this->fileSize - 1) {
} else {
$this->responseLength = $end < $this->fileSize ? $end - $start + 1 : -1;
$this->responseOffset = $start;
$this->responseStatus = 206;

View File

@ -6,6 +6,7 @@ use DOMDocument;
use DOMElement;
use DOMNode;
use DOMNodeList;
use DOMText;
use DOMXPath;
/**
@ -81,6 +82,14 @@ class HtmlDocument
return $element;
}
/**
* Create a new text node within this document.
*/
public function createTextNode(string $text): DOMText
{
return $this->document->createTextNode($text);
}
/**
* Get an element within the document of the given ID.
*/

347
composer.lock generated
View File

@ -62,16 +62,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.325.7",
"version": "3.331.0",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "55852104253172e66c3358bf4c35281bbd8622b2"
"reference": "0f8b3f63ba7b296afedcb3e6a43ce140831b9400"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/55852104253172e66c3358bf4c35281bbd8622b2",
"reference": "55852104253172e66c3358bf4c35281bbd8622b2",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0f8b3f63ba7b296afedcb3e6a43ce140831b9400",
"reference": "0f8b3f63ba7b296afedcb3e6a43ce140831b9400",
"shasum": ""
},
"require": {
@ -100,8 +100,8 @@
"nette/neon": "^2.3",
"paragonie/random_compat": ">= 2",
"phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5",
"psr/cache": "^1.0",
"psr/simple-cache": "^1.0",
"psr/cache": "^1.0 || ^2.0 || ^3.0",
"psr/simple-cache": "^1.0 || ^2.0 || ^3.0",
"sebastian/comparator": "^1.2.3 || ^4.0",
"yoast/phpunit-polyfills": "^1.0"
},
@ -154,9 +154,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.325.7"
"source": "https://github.com/aws/aws-sdk-php/tree/3.331.0"
},
"time": "2024-11-12T19:27:31+00:00"
"time": "2024-11-27T19:12:58+00:00"
},
{
"name": "bacon/bacon-qr-code",
@ -1267,16 +1267,16 @@
},
{
"name": "firebase/php-jwt",
"version": "v6.10.1",
"version": "v6.10.2",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
"reference": "500501c2ce893c824c801da135d02661199f60c5"
"reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5",
"reference": "500501c2ce893c824c801da135d02661199f60c5",
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
"reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
"shasum": ""
},
"require": {
@ -1324,9 +1324,9 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
"source": "https://github.com/firebase/php-jwt/tree/v6.10.1"
"source": "https://github.com/firebase/php-jwt/tree/v6.10.2"
},
"time": "2024-05-18T18:05:11+00:00"
"time": "2024-11-24T11:22:49+00:00"
},
{
"name": "fruitcake/php-cors",
@ -2085,16 +2085,16 @@
},
{
"name": "laravel/framework",
"version": "v10.48.23",
"version": "v10.48.25",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "625269ca4881d2b50eded2045cb930960a181d98"
"reference": "f132b23b13909cc22c615c01b0c5640541c3da0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/625269ca4881d2b50eded2045cb930960a181d98",
"reference": "625269ca4881d2b50eded2045cb930960a181d98",
"url": "https://api.github.com/repos/laravel/framework/zipball/f132b23b13909cc22c615c01b0c5640541c3da0c",
"reference": "f132b23b13909cc22c615c01b0c5640541c3da0c",
"shasum": ""
},
"require": {
@ -2201,7 +2201,7 @@
"nyholm/psr7": "^1.2",
"orchestra/testbench-core": "^8.23.4",
"pda/pheanstalk": "^4.0",
"phpstan/phpstan": "^1.4.7",
"phpstan/phpstan": "~1.11.11",
"phpunit/phpunit": "^10.0.7",
"predis/predis": "^2.0.2",
"symfony/cache": "^6.2",
@ -2288,7 +2288,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-11-12T15:39:10+00:00"
"time": "2024-11-26T15:32:57+00:00"
},
{
"name": "laravel/prompts",
@ -2350,16 +2350,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v1.3.6",
"version": "v1.3.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "f865a58ea3a0107c336b7045104c75243fa59d96"
"reference": "4f48ade902b94323ca3be7646db16209ec76be3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f865a58ea3a0107c336b7045104c75243fa59d96",
"reference": "f865a58ea3a0107c336b7045104c75243fa59d96",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d",
"reference": "4f48ade902b94323ca3be7646db16209ec76be3d",
"shasum": ""
},
"require": {
@ -2407,7 +2407,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2024-11-11T17:06:04+00:00"
"time": "2024-11-14T18:34:49+00:00"
},
{
"name": "laravel/socialite",
@ -3764,32 +3764,32 @@
},
{
"name": "nunomaduro/termwind",
"version": "v1.16.0",
"version": "v1.17.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/termwind.git",
"reference": "dcf1ec3dfa36137b7ce41d43866644a7ab8fc257"
"reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dcf1ec3dfa36137b7ce41d43866644a7ab8fc257",
"reference": "dcf1ec3dfa36137b7ce41d43866644a7ab8fc257",
"url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301",
"reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^8.1",
"symfony/console": "^6.4.12"
"symfony/console": "^6.4.15"
},
"require-dev": {
"illuminate/console": "^10.48.22",
"illuminate/support": "^10.48.22",
"laravel/pint": "^1.18.1",
"pestphp/pest": "^2",
"illuminate/console": "^10.48.24",
"illuminate/support": "^10.48.24",
"laravel/pint": "^1.18.2",
"pestphp/pest": "^2.36.0",
"pestphp/pest-plugin-mock": "2.0.0",
"phpstan/phpstan": "^1.12.6",
"phpstan/phpstan": "^1.12.11",
"phpstan/phpstan-strict-rules": "^1.6.1",
"symfony/var-dumper": "^6.4.11",
"symfony/var-dumper": "^6.4.15",
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
@ -3829,7 +3829,7 @@
],
"support": {
"issues": "https://github.com/nunomaduro/termwind/issues",
"source": "https://github.com/nunomaduro/termwind/tree/v1.16.0"
"source": "https://github.com/nunomaduro/termwind/tree/v1.17.0"
},
"funding": [
{
@ -3845,7 +3845,7 @@
"type": "github"
}
],
"time": "2024-10-15T15:27:12+00:00"
"time": "2024-11-21T10:36:35+00:00"
},
{
"name": "onelogin/php-saml",
@ -4267,16 +4267,16 @@
},
{
"name": "predis/predis",
"version": "v2.2.2",
"version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/predis/predis.git",
"reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1"
"reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1",
"reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1",
"url": "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
"reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
"shasum": ""
},
"require": {
@ -4285,7 +4285,7 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.3",
"phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^8.0 || ~9.4.4"
"phpunit/phpunit": "^8.0 || ^9.4"
},
"suggest": {
"ext-relay": "Faster connection with in-memory caching (>=0.6.2)"
@ -4316,7 +4316,7 @@
],
"support": {
"issues": "https://github.com/predis/predis/issues",
"source": "https://github.com/predis/predis/tree/v2.2.2"
"source": "https://github.com/predis/predis/tree/v2.3.0"
},
"funding": [
{
@ -4324,7 +4324,7 @@
"type": "github"
}
],
"time": "2023-09-13T16:42:03+00:00"
"time": "2024-11-21T20:00:02+00:00"
},
{
"name": "psr/cache",
@ -5093,16 +5093,16 @@
},
{
"name": "robrichards/xmlseclibs",
"version": "3.1.1",
"version": "3.1.3",
"source": {
"type": "git",
"url": "https://github.com/robrichards/xmlseclibs.git",
"reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df"
"reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df",
"reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df",
"url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07",
"reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07",
"shasum": ""
},
"require": {
@ -5129,9 +5129,9 @@
],
"support": {
"issues": "https://github.com/robrichards/xmlseclibs/issues",
"source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1"
"source": "https://github.com/robrichards/xmlseclibs/tree/3.1.3"
},
"time": "2020-09-05T13:00:25+00:00"
"time": "2024-11-20T21:13:56+00:00"
},
{
"name": "sabberworm/php-css-parser",
@ -5643,16 +5643,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.14",
"version": "v6.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b"
"reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/897c2441ed4eec8a8a2c37b943427d24dba3f26b",
"reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b",
"url": "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
"reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
"shasum": ""
},
"require": {
@ -5717,7 +5717,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.14"
"source": "https://github.com/symfony/console/tree/v6.4.15"
},
"funding": [
{
@ -5733,7 +5733,7 @@
"type": "tidelift"
}
],
"time": "2024-11-05T15:34:40+00:00"
"time": "2024-11-06T14:19:14+00:00"
},
{
"name": "symfony/css-selector",
@ -5802,16 +5802,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"shasum": ""
},
"require": {
@ -5849,7 +5849,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
},
"funding": [
{
@ -5865,7 +5865,7 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/error-handler",
@ -6024,16 +6024,16 @@
},
{
"name": "symfony/event-dispatcher-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
"reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
"shasum": ""
},
"require": {
@ -6080,7 +6080,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
},
"funding": [
{
@ -6096,7 +6096,7 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/finder",
@ -6164,16 +6164,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v6.4.14",
"version": "v6.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "ba020a321a95519303a3f09ec2824d34d601c388"
"reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ba020a321a95519303a3f09ec2824d34d601c388",
"reference": "ba020a321a95519303a3f09ec2824d34d601c388",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57",
"reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57",
"shasum": ""
},
"require": {
@ -6183,12 +6183,12 @@
"symfony/polyfill-php83": "^1.27"
},
"conflict": {
"symfony/cache": "<6.3"
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
"doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1|^2.0",
"symfony/cache": "^6.3|^7.0",
"symfony/cache": "^6.4.12|^7.1.5",
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
"symfony/expression-language": "^5.4|^6.0|^7.0",
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
@ -6221,7 +6221,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v6.4.14"
"source": "https://github.com/symfony/http-foundation/tree/v6.4.16"
},
"funding": [
{
@ -6237,20 +6237,20 @@
"type": "tidelift"
}
],
"time": "2024-11-05T16:39:55+00:00"
"time": "2024-11-13T18:58:10+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v6.4.14",
"version": "v6.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "8278a947d0369754a47b758a9e17b72cab970951"
"reference": "8838b5b21d807923b893ccbfc2cbeda0f1bc00f0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/8278a947d0369754a47b758a9e17b72cab970951",
"reference": "8278a947d0369754a47b758a9e17b72cab970951",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/8838b5b21d807923b893ccbfc2cbeda0f1bc00f0",
"reference": "8838b5b21d807923b893ccbfc2cbeda0f1bc00f0",
"shasum": ""
},
"require": {
@ -6335,7 +6335,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v6.4.14"
"source": "https://github.com/symfony/http-kernel/tree/v6.4.16"
},
"funding": [
{
@ -6351,7 +6351,7 @@
"type": "tidelift"
}
],
"time": "2024-11-06T09:45:21+00:00"
"time": "2024-11-27T12:49:36+00:00"
},
{
"name": "symfony/mime",
@ -7076,16 +7076,16 @@
},
{
"name": "symfony/process",
"version": "v6.4.14",
"version": "v6.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "25214adbb0996d18112548de20c281be9f27279f"
"reference": "3cb242f059c14ae08591c5c4087d1fe443564392"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/25214adbb0996d18112548de20c281be9f27279f",
"reference": "25214adbb0996d18112548de20c281be9f27279f",
"url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392",
"reference": "3cb242f059c14ae08591c5c4087d1fe443564392",
"shasum": ""
},
"require": {
@ -7117,7 +7117,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v6.4.14"
"source": "https://github.com/symfony/process/tree/v6.4.15"
},
"funding": [
{
@ -7133,20 +7133,20 @@
"type": "tidelift"
}
],
"time": "2024-11-06T09:25:01+00:00"
"time": "2024-11-06T14:19:14+00:00"
},
{
"name": "symfony/routing",
"version": "v6.4.13",
"version": "v6.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278"
"reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/640a74250d13f9c30d5ca045b6aaaabcc8215278",
"reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278",
"url": "https://api.github.com/repos/symfony/routing/zipball/91e02e606b4b705c2f4fb42f7e7708b7923a3220",
"reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220",
"shasum": ""
},
"require": {
@ -7200,7 +7200,7 @@
"url"
],
"support": {
"source": "https://github.com/symfony/routing/tree/v6.4.13"
"source": "https://github.com/symfony/routing/tree/v6.4.16"
},
"funding": [
{
@ -7216,20 +7216,20 @@
"type": "tidelift"
}
],
"time": "2024-10-01T08:30:56+00:00"
"time": "2024-11-13T15:31:34+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"shasum": ""
},
"require": {
@ -7283,7 +7283,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
},
"funding": [
{
@ -7299,20 +7299,20 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/string",
"version": "v6.4.13",
"version": "v6.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627"
"reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/38371c60c71c72b3d64d8d76f6b1bb81a2cc3627",
"reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627",
"url": "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f",
"reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f",
"shasum": ""
},
"require": {
@ -7369,7 +7369,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v6.4.13"
"source": "https://github.com/symfony/string/tree/v6.4.15"
},
"funding": [
{
@ -7385,7 +7385,7 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:18:03+00:00"
"time": "2024-11-13T13:31:12+00:00"
},
{
"name": "symfony/translation",
@ -7484,16 +7484,16 @@
},
{
"name": "symfony/translation-contracts",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a"
"reference": "4667ff3bd513750603a09c8dedbea942487fb07c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
"reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c",
"reference": "4667ff3bd513750603a09c8dedbea942487fb07c",
"shasum": ""
},
"require": {
@ -7542,7 +7542,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/translation-contracts/tree/v3.5.0"
"source": "https://github.com/symfony/translation-contracts/tree/v3.5.1"
},
"funding": [
{
@ -7558,7 +7558,7 @@
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/uid",
@ -7636,16 +7636,16 @@
},
{
"name": "symfony/var-dumper",
"version": "v6.4.14",
"version": "v6.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "93c09246038178717a9c14b809ea8151ffcf7091"
"reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/93c09246038178717a9c14b809ea8151ffcf7091",
"reference": "93c09246038178717a9c14b809ea8151ffcf7091",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80",
"reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80",
"shasum": ""
},
"require": {
@ -7701,7 +7701,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v6.4.14"
"source": "https://github.com/symfony/var-dumper/tree/v6.4.15"
},
"funding": [
{
@ -7717,7 +7717,7 @@
"type": "tidelift"
}
],
"time": "2024-11-05T15:34:40+00:00"
"time": "2024-11-08T15:28:48+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@ -7858,16 +7858,16 @@
},
{
"name": "voku/portable-ascii",
"version": "2.0.1",
"version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
"reference": "b56450eed252f6801410d810c8e1727224ae0743"
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
"reference": "b56450eed252f6801410d810c8e1727224ae0743",
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
"shasum": ""
},
"require": {
@ -7892,7 +7892,7 @@
"authors": [
{
"name": "Lars Moelleken",
"homepage": "http://www.moelleken.org/"
"homepage": "https://www.moelleken.org/"
}
],
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
@ -7904,7 +7904,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
"source": "https://github.com/voku/portable-ascii/tree/2.0.1"
"source": "https://github.com/voku/portable-ascii/tree/2.0.3"
},
"funding": [
{
@ -7928,7 +7928,7 @@
"type": "tidelift"
}
],
"time": "2022-03-08T17:03:00+00:00"
"time": "2024-11-21T01:49:47+00:00"
},
{
"name": "webmozart/assert",
@ -7992,16 +7992,16 @@
"packages-dev": [
{
"name": "fakerphp/faker",
"version": "v1.24.0",
"version": "v1.24.1",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
"reference": "a136842a532bac9ecd8a1c723852b09915d7db50"
"reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/a136842a532bac9ecd8a1c723852b09915d7db50",
"reference": "a136842a532bac9ecd8a1c723852b09915d7db50",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
"reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
"shasum": ""
},
"require": {
@ -8049,9 +8049,9 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.24.0"
"source": "https://github.com/FakerPHP/Faker/tree/v1.24.1"
},
"time": "2024-11-07T15:11:20+00:00"
"time": "2024-11-21T13:46:39+00:00"
},
{
"name": "filp/whoops",
@ -8177,28 +8177,29 @@
},
{
"name": "itsgoingd/clockwork",
"version": "v5.2.2",
"version": "v5.3.1",
"source": {
"type": "git",
"url": "https://github.com/itsgoingd/clockwork.git",
"reference": "29bc4cedfbe742b419544c30b7b6e15cd9da08ef"
"reference": "7b0c40418df761f7a78e88762a323386a139d83d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/itsgoingd/clockwork/zipball/29bc4cedfbe742b419544c30b7b6e15cd9da08ef",
"reference": "29bc4cedfbe742b419544c30b7b6e15cd9da08ef",
"url": "https://api.github.com/repos/itsgoingd/clockwork/zipball/7b0c40418df761f7a78e88762a323386a139d83d",
"reference": "7b0c40418df761f7a78e88762a323386a139d83d",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": ">=5.6"
"php": ">=7.1"
},
"suggest": {
"ext-pdo": "Needed in order to use a SQL database for metadata storage",
"ext-pdo_mysql": "Needed in order to use MySQL for metadata storage",
"ext-pdo_postgres": "Needed in order to use Postgres for metadata storage",
"ext-pdo_sqlite": "Needed in order to use a SQLite for metadata storage",
"ext-redis": "Needed in order to use Redis for metadata storage"
"ext-redis": "Needed in order to use Redis for metadata storage",
"php-http/discovery": "Vanilla integration - required for the middleware zero-configuration setup"
},
"type": "library",
"extra": {
@ -8240,7 +8241,7 @@
],
"support": {
"issues": "https://github.com/itsgoingd/clockwork/issues",
"source": "https://github.com/itsgoingd/clockwork/tree/v5.2.2"
"source": "https://github.com/itsgoingd/clockwork/tree/v5.3.1"
},
"funding": [
{
@ -8248,20 +8249,20 @@
"type": "github"
}
],
"time": "2024-04-14T10:49:22+00:00"
"time": "2024-11-19T17:25:22+00:00"
},
{
"name": "larastan/larastan",
"version": "v2.9.11",
"version": "v2.9.12",
"source": {
"type": "git",
"url": "https://github.com/larastan/larastan.git",
"reference": "54eccd35d1732b9ee4392c25aec606a6a9c521e7"
"reference": "19012b39fbe4dede43dbe0c126d9681827a5e908"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/larastan/larastan/zipball/54eccd35d1732b9ee4392c25aec606a6a9c521e7",
"reference": "54eccd35d1732b9ee4392c25aec606a6a9c521e7",
"url": "https://api.github.com/repos/larastan/larastan/zipball/19012b39fbe4dede43dbe0c126d9681827a5e908",
"reference": "19012b39fbe4dede43dbe0c126d9681827a5e908",
"shasum": ""
},
"require": {
@ -8275,7 +8276,7 @@
"illuminate/support": "^9.52.16 || ^10.28.0 || ^11.16",
"php": "^8.0.2",
"phpmyadmin/sql-parser": "^5.9.0",
"phpstan/phpstan": "^1.12.5"
"phpstan/phpstan": "^1.12.11"
},
"require-dev": {
"doctrine/coding-standard": "^12.0",
@ -8292,13 +8293,13 @@
},
"type": "phpstan-extension",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
},
"phpstan": {
"includes": [
"extension.neon"
]
},
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
@ -8320,7 +8321,7 @@
"email": "enunomaduro@gmail.com"
}
],
"description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel",
"description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel",
"keywords": [
"PHPStan",
"code analyse",
@ -8333,27 +8334,15 @@
],
"support": {
"issues": "https://github.com/larastan/larastan/issues",
"source": "https://github.com/larastan/larastan/tree/v2.9.11"
"source": "https://github.com/larastan/larastan/tree/v2.9.12"
},
"funding": [
{
"url": "https://www.paypal.com/paypalme/enunomaduro",
"type": "custom"
},
{
"url": "https://github.com/canvural",
"type": "github"
},
{
"url": "https://github.com/nunomaduro",
"type": "github"
},
{
"url": "https://www.patreon.com/nunomaduro",
"type": "patreon"
}
],
"time": "2024-11-11T23:11:00+00:00"
"time": "2024-11-26T23:09:02+00:00"
},
{
"name": "mockery/mockery",
@ -8801,16 +8790,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.12.10",
"version": "1.12.11",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "fc463b5d0fe906dcf19689be692c65c50406a071"
"reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/fc463b5d0fe906dcf19689be692c65c50406a071",
"reference": "fc463b5d0fe906dcf19689be692c65c50406a071",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d1fc20a962a91be578bcfe7cf939e6e1a2ff733",
"reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733",
"shasum": ""
},
"require": {
@ -8855,7 +8844,7 @@
"type": "github"
}
],
"time": "2024-11-11T15:37:09+00:00"
"time": "2024-11-17T14:08:01+00:00"
},
{
"name": "phpunit/php-code-coverage",
@ -10197,16 +10186,16 @@
},
{
"name": "squizlabs/php_codesniffer",
"version": "3.11.0",
"version": "3.11.1",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
"reference": "70c08f8d20c0eb4fe56f26644dd94dae76a7f450"
"reference": "19473c30efe4f7b3cd42522d0b2e6e7f243c6f87"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/70c08f8d20c0eb4fe56f26644dd94dae76a7f450",
"reference": "70c08f8d20c0eb4fe56f26644dd94dae76a7f450",
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/19473c30efe4f7b3cd42522d0b2e6e7f243c6f87",
"reference": "19473c30efe4f7b3cd42522d0b2e6e7f243c6f87",
"shasum": ""
},
"require": {
@ -10273,7 +10262,7 @@
"type": "open_collective"
}
],
"time": "2024-11-12T09:53:29+00:00"
"time": "2024-11-16T12:02:36+00:00"
},
{
"name": "ssddanbrown/asserthtml",
@ -10333,16 +10322,16 @@
},
{
"name": "symfony/dom-crawler",
"version": "v6.4.13",
"version": "v6.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "ae074dffb018c37a57071990d16e6152728dd972"
"reference": "4304e6ad5c894a9c72831ad459f627bfd35d766d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ae074dffb018c37a57071990d16e6152728dd972",
"reference": "ae074dffb018c37a57071990d16e6152728dd972",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4304e6ad5c894a9c72831ad459f627bfd35d766d",
"reference": "4304e6ad5c894a9c72831ad459f627bfd35d766d",
"shasum": ""
},
"require": {
@ -10380,7 +10369,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/dom-crawler/tree/v6.4.13"
"source": "https://github.com/symfony/dom-crawler/tree/v6.4.16"
},
"funding": [
{
@ -10396,7 +10385,7 @@
"type": "tidelift"
}
],
"time": "2024-10-25T15:07:50+00:00"
"time": "2024-11-13T15:06:22+00:00"
},
{
"name": "theseer/tokenizer",

View File

@ -415,7 +415,7 @@ predis/predis
License: MIT
License File: vendor/predis/predis/LICENSE
Copyright: Copyright (c) 2009-2020 Daniele Alessandri (original work)
Copyright (c) 2021-2023 Till Krüss (modified work)
Copyright (c) 2021-2024 Till Krüss (modified work)
Source: https://github.com/predis/predis.git
Link: http://github.com/predis/predis
-----------
@ -514,7 +514,7 @@ Link: https://github.com/ramsey/uuid.git
robrichards/xmlseclibs
License: BSD-3-Clause
License File: vendor/robrichards/xmlseclibs/LICENSE
Copyright: Copyright (c) 2007-2019, Robert Richards <*********@*********.***>.
Copyright: Copyright (c) 2007-2024, Robert Richards <*********@*********.***>.
Source: https://github.com/robrichards/xmlseclibs.git
Link: https://github.com/robrichards/xmlseclibs
-----------

View File

@ -63,17 +63,17 @@ return [
// Auth
'auth_login' => 'loggede ind',
'auth_register' => 'registered as new user',
'auth_register' => 'registreret som ny bruger',
'auth_password_reset_request' => 'requested user password reset',
'auth_password_reset_update' => 'nulstil adgangskode',
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method' => 'konfigureret MFA metode',
'mfa_setup_method_notification' => 'Multi-faktor metode konfigureret',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method' => 'fjernet MFA metode',
'mfa_remove_method_notification' => 'Multi-faktor metode fjernet',
// Settings
'settings_update' => 'updated settings',
'settings_update_notification' => 'Settings successfully updated',
'settings_update' => 'opdaterede indstillinger',
'settings_update_notification' => 'Indstillinger opdateret',
'maintenance_action_run' => 'ran maintenance action',
// Webhooks
@ -87,13 +87,13 @@ return [
// Users
'user_create' => 'opret bruger',
'user_create_notification' => 'Bruger oprettet korrekt',
'user_update' => 'updated user',
'user_update' => 'opdateret bruger',
'user_update_notification' => 'Brugeren blev opdateret',
'user_delete' => 'deleted user',
'user_delete' => 'slettet bruger',
'user_delete_notification' => 'Brugeren blev fjernet',
// API Tokens
'api_token_create' => 'created API token',
'api_token_create' => 'oprettet API token',
'api_token_create_notification' => 'API token successfully created',
'api_token_update' => 'updated API token',
'api_token_update_notification' => 'API token successfully updated',
@ -101,12 +101,12 @@ return [
'api_token_delete_notification' => 'API token successfully deleted',
// Roles
'role_create' => 'created role',
'role_create_notification' => 'Role successfully created',
'role_update' => 'updated role',
'role_update_notification' => 'Role successfully updated',
'role_delete' => 'deleted role',
'role_delete_notification' => 'Role successfully deleted',
'role_create' => 'oprettet rolle',
'role_create_notification' => 'Rolle oprettet',
'role_update' => 'opdateret rolle',
'role_update_notification' => 'Rolle opdateret',
'role_delete' => 'slettet rolle',
'role_delete_notification' => 'Rollen blev slettet',
// Recycle Bin
'recycle_bin_empty' => 'emptied recycle bin',

View File

@ -33,7 +33,7 @@ return [
'app_custom_html_disabled_notice' => 'Brugerdefineret HTML head indhold er deaktiveret på denne indstillingsside for at, at ændringer kan rulles tilbage.',
'app_logo' => 'Applikationslogo',
'app_logo_desc' => 'This is used in the application header bar, among other areas. This image should be 86px in height. Large images will be scaled down.',
'app_icon' => 'Application Icon',
'app_icon' => 'Program ikon',
'app_icon_desc' => 'This icon is used for browser tabs and shortcut icons. This should be a 256px square PNG image.',
'app_homepage' => 'Applikationsforside',
'app_homepage_desc' => 'Vælg en visning, der skal vises på forsiden i stedet for standardvisningen. Sidetilladelser ignoreres for de valgte sider.',

View File

@ -69,7 +69,7 @@ return [
'mfa_setup_method' => 'configured MFA method',
'mfa_setup_method_notification' => 'Multi-factor method successfully configured',
'mfa_remove_method' => 'removed MFA method',
'mfa_remove_method_notification' => 'Multi-factor method successfully removed',
'mfa_remove_method_notification' => 'მულტი-ფაქტორული მეთოდი წარმატებით მოიხსნა',
// Settings
'settings_update' => 'updated settings',

View File

@ -93,11 +93,11 @@ return [
'user_delete_notification' => 'Brukaren vart fjerna',
// API Tokens
'api_token_create' => 'created API token',
'api_token_create' => 'opprett API-nøkkel',
'api_token_create_notification' => 'API-token er oppretta',
'api_token_update' => 'updated API token',
'api_token_update' => 'oppdatert api token',
'api_token_update_notification' => 'API-token oppdatert',
'api_token_delete' => 'deleted API token',
'api_token_delete' => 'sletta api token',
'api_token_delete_notification' => 'API-token vart sletta',
// Roles

View File

@ -91,7 +91,7 @@ return [
'mfa_option_totp_title' => 'Mobilapplikasjon',
'mfa_option_totp_desc' => 'For å bruka fleirfaktorautentisering treng du ein mobilapplikasjon som støttar TOTP-teknologien, slik som Google Authenticator, Authy eller Microsoft Authenticator.',
'mfa_option_backup_codes_title' => 'Tryggleikskodar',
'mfa_option_backup_codes_desc' => 'Generates a set of one-time-use backup codes which you\'ll enter on login to verify your identity. Make sure to store these in a safe & secure place.',
'mfa_option_backup_codes_desc' => 'Genererer et sett med engangs sikkerhetskoder som du skal logge inn for å bekrefte identiteten din. Sørg for å lagre disse på et sikkert og sikkert sted.',
'mfa_gen_confirm_and_enable' => 'Stadfest og aktiver',
'mfa_gen_backup_codes_title' => 'Konfigurasjon av tryggleikskodar',
'mfa_gen_backup_codes_desc' => 'Lagre lista under med kodar på ein trygg stad. Når du skal ha tilgang til systemet kan du bruka ein av desse som ein faktor under innlogging.',

View File

@ -103,7 +103,7 @@ return [
'totp' => '提供的代碼無效或已過期。',
'unique' => ':attribute 已經被使用。',
'url' => ':attribute 格式無效。',
'uploaded' => '無法上傳文件, 服務器可能不接受此大小的文件。',
'uploaded' => '無法上傳文檔案, 伺服器可能不接受此大小的檔案。',
// Custom validation lines
'custom' => [

View File

@ -14,6 +14,10 @@
border-radius: 4px;
}
.cm-editor .cm-line {
line-height: 1.6;
}
.cm-editor .cm-line, .cm-editor .cm-gutter {
font-family: var(--font-code);
}

View File

@ -787,6 +787,20 @@ class OidcTest extends TestCase
$this->assertTrue($user->hasRole($roleA->id));
}
public function test_userinfo_endpoint_response_with_complex_json_content_type_handled()
{
$userinfoResponseData = [
'sub' => OidcJwtHelper::defaultPayload()['sub'],
'name' => 'Barry',
];
$userinfoResponse = new Response(200, ['Content-Type' => 'Application/Json ; charset=utf-8'], json_encode($userinfoResponseData));
$resp = $this->runLogin(['name' => null], [$userinfoResponse]);
$resp->assertRedirect('/');
$user = User::where('email', OidcJwtHelper::defaultPayload()['email'])->first();
$this->assertEquals('Barry', $user->name);
}
public function test_userinfo_endpoint_jwks_response_handled()
{
$userinfoResponseData = OidcJwtHelper::idToken(['name' => 'Barry Jwks']);

View File

@ -404,8 +404,8 @@ class AttachmentTest extends TestCase
$resp = $this->get($attachment->getUrl($isInline), ['Range' => 'bytes=0-2010']);
$resp->assertStreamedContent($content);
$resp->assertHeader('Content-Length', '2005');
$resp->assertHeaderMissing('Content-Range');
$resp->assertStatus(200);
$resp->assertHeader('Content-Range', 'bytes 0-2004/2005');
$resp->assertStatus(206);
// Range start before end
$resp = $this->get($attachment->getUrl($isInline), ['Range' => 'bytes=50-10']);
@ -413,6 +413,13 @@ class AttachmentTest extends TestCase
$resp->assertHeader('Content-Length', '2005');
$resp->assertHeader('Content-Range', 'bytes */2005');
$resp->assertStatus(416);
// Full range request
$resp = $this->get($attachment->getUrl($isInline), ['Range' => 'bytes=0-']);
$resp->assertStreamedContent($content);
$resp->assertHeader('Content-Length', '2005');
$resp->assertHeader('Content-Range', 'bytes 0-2004/2005');
$resp->assertStatus(206);
}
$this->files->deleteAllAttachmentFiles();