protected function filterTarget(string $target = null)
{
if (null === $target || '' === $target) {
return null;
}
if ('/' === $target[0]) {
return new BasicUri($target);
}
if (preg_match('/^https?:\\/\\//i', $target)) {
// absolute-form
return new BasicUri($target);
}
if (strrpos($target, ':', -1)) {
return new BasicUri($target);
}
return new BasicUri('//' . $target);
}