aboutsummaryrefslogtreecommitdiff
path: root/webmentions_ssg/forms
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--webmentions_ssg/forms/validators.py22
1 files changed, 8 insertions, 14 deletions
diff --git a/webmentions_ssg/forms/validators.py b/webmentions_ssg/forms/validators.py
index e979644..c4b5eda 100644
--- a/webmentions_ssg/forms/validators.py
+++ b/webmentions_ssg/forms/validators.py
@@ -3,11 +3,7 @@ from urllib.parse import urlsplit
from flask import current_app
from wtforms import ValidationError
-from ..url_security import (
- AddressResolutionError,
- NonPublicAddressError,
- ensure_public_url,
-)
+from ..url_security import AddressResolutionError, is_public_url
class NotEqualTo:
@@ -73,15 +69,13 @@ class PublicURL:
self.message = message
def __call__(self, form, field):
- try:
- ensure_public_url(field.data)
- except (
- AddressResolutionError,
- NonPublicAddressError,
- ) as exc:
- message = self.message
+ message = self.message
- if message is None:
- message = field.gettext("URL must resolve to a public address.")
+ if message is None:
+ message = field.gettext("URL must resolve to a public address.")
+ try:
+ if not is_public_url(field.data):
+ raise ValidationError(message)
+ except (AddressResolutionError, ValueError) as exc:
raise ValidationError(message) from exc