This repository was archived by the owner on Jan 29, 2020. It is now read-only.
This repository was archived by the owner on Jan 29, 2020. It is now read-only.
ServerRequestFactory #158
Open
Description
This all works fine. Great.
But why all the logic is concentrated in one place?
Moreover, there is a class of Server.
I think it would be better to make a directory of the factories.
Firstly, it allows to separate each logic element in its factory.
Secondly, because I can always get in the code of the original values.
For example, Zend\Diactoros\Factory\HttpProtocolFactory:
use UnexpectedValueException;
class HttpProtocolFactory
{
public static function make(array $server = null)
{
if (empty($server)) {
$server = $_SERVER;
}
if (! isset($server['SERVER_PROTOCOL'])) {
return '1.1';
}
$protocol = $server['SERVER_PROTOCOL'];
if (! preg_match('#\A(?:HTTP/)?(?P<version>\d{1}\.\d+)\Z#', $protocol, $matches)) {
throw new UnexpectedValueException(sprintf(
'Unrecognized protocol version "%s".',
$server['SERVER_PROTOCOL']
));
}
return $matches['version'];
}
}
All this is true for the request method, headers, Uri, uploaded files etc
Metadata
Metadata
Assignees
Labels
No labels