share validate_url function (#1371)

This commit is contained in:
Shuchang Zheng 2024-12-11 00:57:55 -08:00 committed by GitHub
parent 4241cfe3f2
commit 9cf4743961
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 25 additions and 36 deletions

View file

@ -4,11 +4,10 @@ from datetime import datetime
from enum import StrEnum
from typing import Any
from fastapi import status
from pydantic import BaseModel, Field, HttpUrl, field_validator
from pydantic import BaseModel, Field, field_validator
from skyvern.exceptions import BlockedHost, InvalidTaskStatusTransition, SkyvernHTTPException, TaskAlreadyCanceled
from skyvern.forge.sdk.core.validators import is_blocked_host, prepend_scheme_and_validate_url
from skyvern.exceptions import InvalidTaskStatusTransition, TaskAlreadyCanceled
from skyvern.forge.sdk.core.validators import validate_url
from skyvern.forge.sdk.db.enums import TaskType
@ -118,19 +117,7 @@ class TaskRequest(TaskBase):
if url is None:
return None
try:
url = prepend_scheme_and_validate_url(url=url)
v = HttpUrl(url=url)
except Exception as e:
raise SkyvernHTTPException(message=str(e), status_code=status.HTTP_400_BAD_REQUEST)
if not v.host:
return None
host = v.host
blocked = is_blocked_host(host)
if blocked:
raise BlockedHost(host=host)
return str(v)
return validate_url(url)
class TaskStatus(StrEnum):