Moved logic to create a visitor from a request to the visitor itself

This commit is contained in:
Alejandro Celaya
2018-10-18 20:24:25 +02:00
parent 545094cddf
commit 44f0011445
5 changed files with 18 additions and 11 deletions

View File

@@ -3,8 +3,12 @@ declare(strict_types=1);
namespace Shlinkio\Shlink\Core\Model;
use Psr\Http\Message\ServerRequestInterface;
final class Visitor
{
public const REMOTE_ADDRESS_ATTR = 'remote_address';
/**
* @var string
*/
@@ -25,6 +29,15 @@ final class Visitor
$this->remoteAddress = $remoteAddress;
}
public static function fromRequest(ServerRequestInterface $request): self
{
return new self(
$request->getHeaderLine('User-Agent'),
$request->getHeaderLine('Referer'),
$request->getAttribute(self::REMOTE_ADDRESS_ATTR)
);
}
public static function emptyInstance(): self
{
return new self('', '', null);