21 lines
714 B
Python
21 lines
714 B
Python
import urllib.parse
|
|
|
|
from django.core.exceptions import ValidationError
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from hobo.environment.models import ServiceBase
|
|
|
|
|
|
def validate_service_url(url):
|
|
service = ServiceBase(title='dummy', base_url=url)
|
|
if not service.is_resolvable():
|
|
raise ValidationError(
|
|
_('Error: %(netloc)s is not resolvable in URL %(url)s'),
|
|
code='not-resolvable',
|
|
params={'netloc': urllib.parse.urlsplit(url).netloc, 'url': url},
|
|
)
|
|
if not service.has_valid_certificate():
|
|
raise ValidationError(
|
|
_('Error: no valid certificate for %(url)s'), code='invalid-certificate', params={'url': url}
|
|
)
|