Bug Report
| Q |
A |
| Version(s) |
Current git 3.3.x |
Summary
The Uri class is able to parse malformed URIs but this results in Uri::__toString() generating a malformed URI. Attempting to pass that URI back into Uri will yield a InvalidArgumentException.
Current behavior
Certain malformed URIs do not round-trip through \Laminas\Diactoros\Uri.
How to reproduce
<?php
require('vendor/autoload.php');
$value = 'http://invalid:%20https://example.com';
$uri = new \Laminas\Diactoros\Uri($value);
$uri2 = new \Laminas\Diactoros\Uri($uri->__toString()); // Exception is thrown here.
Expected behavior
Either both constructors throw, or neither.
Note: This issue also exists in guzzlehttp/psr7 and was reported at guzzle/psr7#583.
Bug Report
Summary
The
Uriclass is able to parse malformed URIs but this results inUri::__toString()generating a malformed URI. Attempting to pass that URI back into Uri will yield aInvalidArgumentException.Current behavior
Certain malformed URIs do not round-trip through
\Laminas\Diactoros\Uri.How to reproduce
Expected behavior
Either both constructors throw, or neither.
Note: This issue also exists in guzzlehttp/psr7 and was reported at guzzle/psr7#583.