From 50c525853f0ecb83182d74e43146aeb0cbc65bc9 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Wed, 29 Jun 2022 16:09:32 -0700 Subject: [PATCH] validation: ensure seed urls, and other url properties, are validated on POST by using pydantic HttpUrl type, fixes #277 (#278) --- backend/btrixcloud/crawlconfigs.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/btrixcloud/crawlconfigs.py b/backend/btrixcloud/crawlconfigs.py index 188dcb76..2341ac62 100644 --- a/backend/btrixcloud/crawlconfigs.py +++ b/backend/btrixcloud/crawlconfigs.py @@ -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