Source code for duck.http.normalizers

from duck.exceptions.all import NormalizationError
from duck.http.request import HttpRequest
from duck.utils.path import normalize_url_path


[docs] class URLNormalizer: """ Class for normalizing URL in a request. """
[docs] @classmethod def normalize(cls, request: HttpRequest): """ This normalizes a URL in the request. """ if not isinstance(request, HttpRequest): raise NormalizationError(f"HttpRequest object required, not '{type(request).__name__}'") if request.path is not None: # Ensure the path is not None request.fullpath = normalize_url_path(request.fullpath) else: request.path = ""