Deprecated validateUrl option on short URL creation/edition

This commit is contained in:
Alejandro Celaya
2023-01-23 20:30:12 +01:00
parent 06583a0bc1
commit 4ee0032c2a
12 changed files with 23 additions and 7 deletions

View File

@@ -14,6 +14,8 @@ class ShortUrlTitleResolutionHelper implements ShortUrlTitleResolutionHelperInte
}
/**
* @deprecated TODO Rename to processTitle once URL validation is removed with Shlink 4.0.0
* Move relevant logic from URL validator here.
* @template T of TitleResolutionModelInterface
* @param T $data
* @return T

View File

@@ -9,6 +9,7 @@ use Shlinkio\Shlink\Core\Exception\InvalidUrlException;
interface ShortUrlTitleResolutionHelperInterface
{
/**
* @deprecated TODO Rename to processTitle once URL validation is removed with Shlink 4.0.0
* @template T of TitleResolutionModelInterface
* @param T $data
* @return T

View File

@@ -10,6 +10,7 @@ interface TitleResolutionModelInterface
public function getLongUrl(): string;
/** @deprecated */
public function doValidateUrl(): bool;
public function withResolvedTitle(string $title): static;

View File

@@ -33,6 +33,7 @@ final class ShortUrlCreation implements TitleResolutionModelInterface
public readonly bool $findIfExists = false,
public readonly ?string $domain = null,
public readonly int $shortCodeLength = 5,
/** @deprecated */
public readonly bool $validateUrl = false,
public readonly ?ApiKey $apiKey = null,
public readonly array $tags = [],
@@ -131,6 +132,7 @@ final class ShortUrlCreation implements TitleResolutionModelInterface
return $this->domain !== null;
}
/** @deprecated */
public function doValidateUrl(): bool
{
return $this->validateUrl;

View File

@@ -38,6 +38,7 @@ final class ShortUrlEdition implements TitleResolutionModelInterface
private readonly bool $titlePropWasProvided = false,
public readonly ?string $title = null,
public readonly bool $titleWasAutoResolved = false,
/** @deprecated */
public readonly bool $validateUrl = false,
private readonly bool $crawlablePropWasProvided = false,
public readonly bool $crawlable = false,
@@ -154,6 +155,7 @@ final class ShortUrlEdition implements TitleResolutionModelInterface
return $this->titleWasAutoResolved;
}
/** @deprecated */
public function doValidateUrl(): bool
{
return $this->validateUrl;

View File

@@ -32,6 +32,7 @@ class ShortUrlInputFilter extends InputFilter
public const SHORT_CODE_LENGTH = 'shortCodeLength';
public const LONG_URL = 'longUrl';
public const DEVICE_LONG_URLS = 'deviceLongUrls';
/** @deprecated */
public const VALIDATE_URL = 'validateUrl';
public const API_KEY = 'apiKey';
public const TAGS = 'tags';

View File

@@ -22,6 +22,7 @@ use function trim;
use const Shlinkio\Shlink\TITLE_TAG_VALUE;
/** @deprecated */
class UrlValidator implements UrlValidatorInterface, RequestMethodInterface
{
private const MAX_REDIRECTS = 15;
@@ -33,6 +34,7 @@ class UrlValidator implements UrlValidatorInterface, RequestMethodInterface
}
/**
* @deprecated
* @throws InvalidUrlException
*/
public function validateUrl(string $url, bool $doValidate): void
@@ -44,6 +46,10 @@ class UrlValidator implements UrlValidatorInterface, RequestMethodInterface
$this->validateUrlAndGetResponse($url);
}
/**
* @deprecated
* @throws InvalidUrlException
*/
public function validateUrlWithTitle(string $url, bool $doValidate): ?string
{
if (! $doValidate && ! $this->options->autoResolveTitles) {

View File

@@ -6,14 +6,17 @@ namespace Shlinkio\Shlink\Core\Util;
use Shlinkio\Shlink\Core\Exception\InvalidUrlException;
/** @deprecated */
interface UrlValidatorInterface
{
/**
* @deprecated
* @throws InvalidUrlException
*/
public function validateUrl(string $url, bool $doValidate): void;
/**
* @deprecated
* @throws InvalidUrlException
*/
public function validateUrlWithTitle(string $url, bool $doValidate): ?string;