validation: ensure seed urls, and other url properties, are validated on POST by using pydantic HttpUrl type, fixes #277 (#278)

This commit is contained in:
Ilya Kreymer 2022-06-29 16:09:32 -07:00 committed by GitHub
parent 3fec2a9f82
commit 50c525853f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,7 +10,7 @@ import re
from datetime import datetime
import pymongo
from pydantic import BaseModel, UUID4, conint
from pydantic import BaseModel, UUID4, conint, HttpUrl
from fastapi import APIRouter, Depends, HTTPException
from .users import User
@ -35,12 +35,12 @@ class ScopeType(str, Enum):
class Seed(BaseModel):
"""Crawl seed"""
url: str
url: HttpUrl
scopeType: Optional[ScopeType] = ScopeType.PREFIX
include: Union[str, List[str], None]
exclude: Union[str, List[str], None]
sitemap: Union[bool, str, None]
sitemap: Union[bool, HttpUrl, None]
allowHash: Optional[bool]
depth: Optional[int]
@ -49,7 +49,7 @@ class Seed(BaseModel):
class RawCrawlConfig(BaseModel):
"""Base Crawl Config"""
seeds: List[Union[str, Seed]]
seeds: List[Union[HttpUrl, Seed]]
scopeType: Optional[ScopeType] = ScopeType.PREFIX